commit 7a48f8dd0cd306962738a2e27b8bbdd40f718a3d Author: HbmMods Date: Tue Jan 12 22:56:58 2016 +0100 First uploadt to git. lel diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang new file mode 100644 index 000000000..1d758d829 --- /dev/null +++ b/assets/hbm/lang/de_DE.lang @@ -0,0 +1,483 @@ +itemGroup.tabTest=Nuclear Tech Mod Test Tab +itemGroup.tabParts=Nuclear Tech Mod Bauteile +itemGroup.tabBlocks=Nuclear Tech Mod Blöcke +itemGroup.tabNuke=Nuclear Tech Mod Bomben + +item.redstone_sword.name=Redstoneschwert +item.big_sword.name=Großes Schwert +item.test_nuke_igniter.name=Zünder +item.test_nuke_propellant.name=Treibladung +item.test_nuke_tier1_shielding.name=Neutronenreflektor (Stufe 1) +item.test_nuke_tier2_shielding.name=Neutronenreflektor (Stufe 2) +item.test_nuke_tier1_bullet.name=U235 Geschoss (Stufe 1) +item.test_nuke_tier2_bullet.name=MOX Geschoss (Stufe 2) +item.test_nuke_tier1_target.name=Unkritischer U235 Hohlkörper (Stufe 1) +item.test_nuke_tier2_target.name=Unkritischer MOX Hohlkörper (Stufe 2) + +item.gadget_explosive.name=Treibladung +item.gadget_explosive8.name=Verbundene Treibladung +item.gadget_wireing.name=Kabelrolle +item.gadget_core.name=Plutoniumkern + +item.boy_igniter.name=Zünder +item.boy_propellant.name=Treibladung +item.boy_bullet.name=U235 Geschoss +item.boy_target.name=Unterkritischer U235 Hohlkörper +item.boy_shielding.name=Neutronenschild + +item.man_explosive.name=Treibladung +item.man_explosive8.name=Verbundene Treibladung +item.man_igniter.name=Zünder +item.man_core.name=Plutoniumkern + +item.mike_core.name=Mit Uran ummantelter Deuteriumtank +item.mike_deut.name=Deuteriumtank +item.mike_cooling_unit.name=Deuteriumkühleinheit + +item.tsar_core.name=Fusionskern + +item.fleija_igniter.name=Impulszünder +item.fleija_propellant.name=Schrabidiumtreibladung +item.fleija_core.name=F.L.E.I.J.A. Uran-235-Ladung + +container.nukeGadget=The Gadget +container.nukeBoy=Little Boy +container.nukeMan=Fat Man +container.nukeMike=Ivy Mike +container.nukeTsar=Tsar Bombe +container.nukeFleija=F.L.E.I.J.A. +container.nukePrototype=Der Prototyp + +container.bombMulti=Mehrzweckbombe + +tile.nuke_gadget.name=The Gadget +tile.nuke_boy.name=Little Boy +tile.nuke_man.name=Fat Man +tile.nuke_mike.name=Ivy Mike +tile.nuke_tsar.name=Tsar Bombe +tile.nuke_fleija.name=F.L.E.I.J.A. +tile.nuke_prototype.name=Der Prototyp + +tile.bomb_multi.name=Mehrzweckbombe + +tile.flame_war.name=Flamewar aus der Box +tile.float_bomb.name=Schwebebombe +tile.therm_endo.name=Endothermische Bombe +tile.therm_exo.name=Exothermische Bombe + +tile.machine_difurnace_off.name=Legierungshochofen +tile.machine_difurnace_on.name=Legierungshochofen +container.diFurnace=Legierungshochofen +tile.machine_centrifuge.name=Zentrifuge +container.centrifuge=Zentrifuge +tile.machine_uf6_tank.name=Uranhexafluorit-Tank +container.uf6_tank=UF6 Tank +tile.machine_puf6_tank.name=Plutoniumhexafluorit-Tank +container.puf6_tank=PuF6 Tank +tile.machine_reactor.name=Brutreaktor +container.reactor=Brutreaktor +tile.machine_nuke_furnace_off.name=Atombetriebener Ofen +tile.machine_nuke_furnace_on.name=Atombetriebener Ofen +container.nukeFurnace=Atombetriebener Ofen +tile.machine_rtg_furnace_off.name=RTG-Ofen +tile.machine_rtg_furnace_on.name=RTG-Ofen +container.rtgFurnace=RTG-Ofen +tile.machine_electric_furnace_off.name=Elektrischer Ofen +tile.machine_electric_furnace_on.name=Elektrischer Ofen +container.electricFurnace=Elektrischer Ofen +tile.machine_generator.name=Atomreaktor +container.generator=Atomreaktor +tile.red_wire_coated.name=Rotes Kupferkabel +tile.machine_deuterium.name=Deuteriumextraktor +container.machine_deuterium=Deuteriumextraktor +tile.machine_battery.name=Energiespeicherblock +container.battery=Energiespeicherblock +tile.machine_coal_off.name=Kohlegenerator +tile.machine_coal_on.name=Kohlegenerator +container.machineCoal=Kohlegenerator +tile.launch_pad.name=Raketenabschussrampe +container.launchPad=Raketenabschussrampe +tile.book_guide.name=Hbm's Nuclear Tech Mod Handbuch + +tile.test_nuke.name=Test Atombombe + +item.ingot_uranium.name=Uranbarren +item.ingot_u235.name=U235-Barren +item.ingot_u238.name=U238-Barren +item.ingot_plutonium.name=Plutoniumbarren +item.ingot_pu238.name=Pu238-Barren +item.ingot_pu239.name=Pu239-Barren +item.ingot_pu240.name=Pu240-Barren +item.ingot_titanium.name=Titanbarren +item.sulfur.name=Schwefel + +item.niter.name=Salpeter +item.ingot_copper.name=Industrielles Kupfer +item.ingot_red_copper.name=Minecraft Kupfer +item.ingot_tungsten.name=Wolframbarren +item.ingot_aluminium.name=Aluminiumbarren +item.fluorite.name=Fluorit +item.ingot_steel.name=Stahlbarren +item.plate_steel.name=Stahlplatte +item.ingot_beryllium.name=Berylliumbarren +item.plate_schrabidium.name=Schrabidiumplatte +item.ingot_schrabidium.name=Schrabidiumbarren +item.nugget_schrabidium.name=Schrabidiumnugget +item.plate_copper.name=Kupferplatte + +item.nugget_u235.name=U235-Nugget +item.nugget_u238.name=U238-Nugget +item.nugget_pu238.name=Pu238-Nugget +item.nugget_pu239.name=Pu239-Nugget +item.nugget_pu240.name=Pu240-Nugget +item.plate_titanium.name=Titanplatte +item.plate_aluminium.name=Aluminiumplatte +item.wire_red_copper.name=Roter Kupferdraht +item.neutron_reflector.name=Neutronenreflektor +item.nugget_beryllium.name=Berylliumnugget + +item.wire_aluminium.name=Aluminiumdraht +item.wire_copper.name=Kupferdraht +item.wire_gold.name=Golddraht +item.wire_schrabidium.name=Schrabidiumdraht + +item.circuit_aluminium.name=Einfacher Schaltkreis +item.circuit_copper.name=Erweiterter Schaltkreis +item.circuit_red_copper.name=Forgeschrittener Schaltkreis +item.circuit_gold.name=Übertakteter Schaltkreis +item.circuit_schrabidium.name=Leistungsstarker Schaltkreis + +tile.block_aluminium.name=Aluminiumblock +tile.block_copper.name=Kupferblock +tile.block_fluorite.name=Fluoritblock +tile.block_niter.name=Salpeterblock +tile.block_red_copper.name=Roter Kupferblock +tile.block_steel.name=Stahlblock +tile.block_sulfur.name=Schwefelblock +tile.block_titanium.name=Titanblock +tile.block_tungsten.name=Wolframblock +tile.block_uranium.name=Uranblock +tile.block_trinitite.name=Trinititblock +tile.block_beryllium.name=Berylliumblock +tile.block_waste.name=Atommüllblock + +tile.ore_aluminium.name=Aluminiumerz +tile.ore_copper.name=Kupfererz +tile.ore_fluorite.name=Fluoriterz +tile.ore_niter.name=Salpetererz +tile.ore_sulfur.name=Schwefelerz +tile.ore_titanium.name=Titanerz +tile.ore_tungsten.name=Wolframerz +tile.ore_uranium.name=Uranerz +tile.ore_schrabidium.name=Schrabidiumerz +tile.ore_beryllium.name=Berylliumerz + +tile.reinforced_brick.name=Verstärkter Stein +tile.reinforced_glass.name=Verstärktes Glas +tile.reinforced_sand.name=Verstärkter Sandstein +tile.reinforced_light.name=Verstärkter Glowstone +tile.reinforced_lamp_off.name=Verstärkte Lampe +tile.reinforced_lamp_on.name=Verstärkte Lampe + +tile.brick_concrete.name=Betonziegel +tile.brick_obsidian.name=Obsidianziegel +tile.brick_light.name=Helle Ziegel + +item.nugget_uranium.name=Urannugget +item.nugget_plutonium.name=Plutoniumnugget +item.nugget_neptunium.name=Neptuniumnugget +item.ingot_neptunium.name=Neptuniumbarren +item.nugget_lead.name=Bleinugget +item.ingot_lead.name=Bleibarren +tile.block_lead.name=Bleiblock +tile.ore_lead.name=Bleierz + +item.powder_lead.name=Bleistaub +item.powder_neptunium.name=Neptuniumstaub +item.powder_schrabidium.name=Schrabidiumstaub + +item.battery_generic.name=Batterie +item.battery_advanced.name=Fortgeschrittene Batterie +item.battery_schrabidium.name=Schrabidiumbatterie +item.battery_creative.name=Unendliche Batterie + +item.fusion_core.name=Fusionskern + +item.plate_iron.name=Eisenplatte +item.plate_lead.name=Bleiplatte +item.coil_copper.name=Kupferspule +item.coil_copper_torus.name=Ringspule +item.wire_tungsten.name=Wolframdraht +item.coil_tungsten.name=Heizspirale +item.tank_steel.name=Stahltank +item.motor.name=Motor +item.centrifuge_element.name=Zentrifugenelement +item.centrifuge_tower.name=Zentrifugenturm +item.reactor_core.name=Brutreaktorkern +item.pellet_rtg.name=Plutonium 238 Pellet +item.rtg_unit.name=RTG Einheit + +item.cell_empty.name=Leere Zelle +item.cell_uf6.name=Uranhexafluorit-Zelle +item.cell_puf6.name=Plutoniumhexafluorit-Zelle +item.cell_antimatter.name=Antimaterienzelle +item.cell_deuterium.name=Deuteriumzelle +item.cell_sas3.name=Schrabidiumtrisulfat-Zelle + +item.rod_empty.name=Leerer Brennstab +item.rod_uranium.name=Uranbrennstab +item.rod_u235.name=U235-Brennstab +item.rod_u238.name=U238-Brennstab +item.rod_plutonium.name=Plutoniumbrennstab +item.rod_pu238.name=Pu238-Brennstab +item.rod_pu239.name=Pu239-Brennstab +item.rod_pu240.name=Pu240-Brennstab +item.rod_neptunium.name=Neptuniumbrennstab +item.rod_lead.name=Bleistab +item.rod_schrabidium.name=Schrabidiumbrennstab + +item.rod_dual_empty.name=Leerer Doppelbrennstab +item.rod_dual_uranium.name=Urandoppelbrennstab +item.rod_dual_u235.name=U235-Doppelbrennstab +item.rod_dual_u238.name=U238-Doppelbrennstab +item.rod_dual_plutonium.name=Plutoniumdoppelbrennstab +item.rod_dual_pu238.name=Pu238-Doppelbrennstab +item.rod_dual_pu239.name=Pu239-Doppelbrennstab +item.rod_dual_pu240.name=Pu240-Doppelbrennstab +item.rod_dual_neptunium.name=Neptuniumdoppelbrennstab +item.rod_dual_lead.name=Bleidoppelstab +item.rod_dual_schrabidium.name=Schrabidiumdoppelbrennstab + +item.rod_quad_empty.name=Leerer Vierfachbrennstab +item.rod_quad_uranium.name=Uranvierfachbrennstab +item.rod_quad_u235.name=U235-Vierfachbrennstab +item.rod_quad_u238.name=U238-Vierfachbrennstab +item.rod_quad_plutonium.name=Plutoniumvierfachbrennstab +item.rod_quad_pu238.name=Pu238-Vierfachbrennstab +item.rod_quad_pu239.name=Pu239-Vierfachbrennstab +item.rod_quad_pu240.name=Pu240-Vierfachbrennstab +item.rod_quad_neptunium.name=Neptuniumvierfachbrennstab +item.rod_quad_lead.name=Bleivierfachstab +item.rod_quad_schrabidium.name=Schrabidiumvierfachbrennstab + +item.rod_uranium_fuel_depleted.name=Erschöpfte Urankernbrennstoffzelle +item.rod_dual_uranium_fuel_depleted.name=Erschöpfte Urandoppelkernbrennstoffzelle +item.rod_quad_uranium_fuel_depleted.name=Erschöpfte Uranvierfachkernbrennstoffzelle +item.rod_plutonium_fuel_depleted.name=Erschöpfte Plutoniumkernbrennstoffzelle +item.rod_dual_plutonium_fuel_depleted.name=Erschöpfte Plutoniumdoppelkernbrennstoffzelle +item.rod_quad_plutonium_fuel_depleted.name=Erschöpfte Plutoniumvierfachkernbrennstoffzelle +item.rod_mox_fuel_depleted.name=Erschöpfte MOX-Kernbrennstoffzelle +item.rod_dual_mox_fuel_depleted.name=Erschöpfte MOX-Doppelkernbrennstoffzelle +item.rod_quad_mox_fuel_depleted.name=Erschöpfte MOX-Vierfachkernbrennstoffzelle +item.rod_schrabidium_fuel_depleted.name=Erschöpfte Schrabidiumkernbrennstoffzelle +item.rod_dual_schrabidium_fuel_depleted.name=Erschöpfte Schrabidiumdoppelkernbrennstoffzelle +item.rod_quad_schrabidium_fuel_depleted.name=Erschöpfte Schrabidiumvierfachkernbrennstoffzelle + +item.rod_waste.name=Nuclear Waste Rod +item.rod_dual_waste.name=Nuclear Waste Dual Rod +item.rod_quad_waste.name=Nuclear Waste Quad Rod + +item.gun_rpg.name=RPG +item.gun_rpg_ammo.name=Rakete + +item.flame_pony.name=Bild eines Cartoon Ponys +item.flame_conspiracy.name=Verschwörungstheorie +item.flame_politics.name=Politisches Thema +item.flame_opinion.name=Eigene Meinung + +item.pellet_cluster.name=Explosive Pellets +item.powder_fire.name=Flammenpulver +item.powder_poison.name=Giftpulver +item.pellet_gas.name=Giftgaskatusche + +item.nuke_starter_kit.name=Atomphysik Starterkit +item.nuke_commercially_kit.name=Atomphysik Kit für kommerzielle Zwecke +item.nuke_advanced_kit.name=Atomphysik Kit für Fortgeschrittene +item.gadget_kit.name=The Gadget Kit +item.boy_kit.name=Little Boy Kit +item.man_kit.name=Fat Man Kit +item.mike_kit.name=Ivy Mike Kit +item.tsar_kit.name=Tsar Bomba Kit +item.fleija_kit.name=F.L.E.I.J.A. Kit +item.multi_kit.name=Mehrzweckbomben Kit +item.grenade_kit.name=Granaten Kit +item.nuke_electric_kit.name=Kit des Elektronikingenieurs +item.prototype_kit.name=Prototyp Kit + +tile.waste_earth.name=Totes Gras +tile.waste_trinitite.name=Trinititerz +tile.waste_trinitite_red.name=Rotes Trinititerz +tile.waste_log.name=Verkohltes Holz +tile.waste_planks.name=Verkohlte Holzbretter + +item.trinitite.name=Trinitit +item.nuclear_waste.name=Atommüll + +item.ingot_uranium_fuel.name=Urankernbrennstoffbarren +item.ingot_plutonium_fuel.name=Plutoniumkernbrennstoffbarren +item.ingot_mox_fuel.name=MOX-Kernbrennstoffbarren +item.ingot_schrabidium_fuel.name=Schrabidiumkernbrennstoffbarren + +item.nugget_uranium_fuel.name=Urankernbrennstoffnugget +item.nugget_plutonium_fuel.name=Plutoniumkernbrennstoffnugget +item.nugget_mox_fuel.name=MOX-Kernbrennstoffnugget +item.nugget_schrabidium_fuel.name=Schrabidiumkernbrennstoffnugget + +item.grenade_generic.name=Handgranate +item.grenade_strong.name=Verbesserte Handgranate +item.grenade_frag.name=Splittergranate +item.grenade_fire.name=Brandsplittergranate +item.grenade_cluster.name=Cluster-Bombe +item.grenade_flare.name=Blendgranate +item.grenade_electric.name=Blitzbombe +item.grenade_poison.name=Giftgranate +item.grenade_gas.name=Gasgranate +item.grenade_schrabidium.name=Schrabidiumgranate +item.grenade_nuke.name=Mark VI Bohrgranate + +item.rod_uranium_fuel.name=Urankernbrennstoffzelle +item.rod_dual_uranium_fuel.name=Doppelte Urankernbrennstoffzelle +item.rod_quad_uranium_fuel.name=Vierfache Urankernbrennstoffzelle +item.rod_plutonium_fuel.name=Plutoniumkernbrennstoffzelle +item.rod_dual_plutonium_fuel.name=Doppelte Plutoniumkernbrennstoffzelle +item.rod_quad_plutonium_fuel.name=Vierfache Plutoniumkernbrennstoffzelle +item.rod_mox_fuel.name=MOX-Kernbrennstoffzelle +item.rod_dual_mox_fuel.name=Doppelte MOX-Kernbrennstoffzelle +item.rod_quad_mox_fuel.name=Vierfache MOX-Kernbrennstoffzelle +item.rod_schrabidium_fuel.name=Schrabidiumkernbrennstoffzelle +item.rod_dual_schrabidium_fuel.name=Doppelte Schrabidiumkernbrennstoffzelle +item.rod_quad_schrabidium_fuel.name=Vierfache Schrabidiumkernbrennstoffzelle + +item.rod_water.name=Wasserzelle +item.rod_dual_water.name=Doppelte Wasserzelle +item.rod_quad_water.name=Vierfache Wasserzelle + +item.rod_coolant.name=Kühlzelle +item.rod_dual_coolant.name=Doppelte Kühlzelle +item.rod_quad_coolant.name=Vierfache Kühlzelle + +item.levitation_unit.name=Gravitationsmanipulator +item.thermo_unit_empty.name=Thermische Verteilungseinheit +item.thermo_unit_endo.name=Kälteverteilungseinheit +item.thermo_unit_exo.name=Hitzeverteilungseinheit + +item.bomb_waffle.name=Massenvernichtungswaffel +item.schnitzel_vegan.name=Veganes Schnitzel +item.apple_schrabidium.name=Schrabidiumapfel +item.cotton_candy.name=Radioaktive Zuckerwatte + +tile.frozen_grass.name=Gefrorenes Gras +tile.frozen_dirt.name=Gefrorene Erde +tile.frozen_log.name=Gefrorener Baumstamm +tile.frozen_planks.name=Gefrorene Holzbretter + +tile.tape_recorder.name=Tonbandgerät +tile.steel_poles.name=Stahlmasten +tile.pole_top.name=Antennenspitze +tile.pole_satellite_receiver.name=Satellitenschüssel +tile.steel_wall.name=Stahlwand +tile.steel_corner.name=Stahlwand (Ecke) +tile.steel_roof.name=Flaches Stachldach +tile.steel_beam.name=Stahlträger +tile.steel_scaffold.name=Stahlgerüst + +item.gun_revolver_iron.name=Einfacher Revolver +item.gun_revolver.name=Verbesserter Revolver +item.gun_revolver_gold.name=Goldener Revolver +item.gun_revolver_schrabidium.name=Schrabidiumrevolver +item.gun_revolver_cursed.name=Verfluchte Pistole + +item.gun_revolver_iron_ammo.name=Patrone +item.gun_revolver_ammo.name=Bleipatrone +item.gun_revolver_gold_ammo.name=Goldene Kugel +item.gun_revolver_schrabidium_ammo.name=Schrabidiumpatrone +item.gun_revolver_cursed_ammo.name=Stahlpatrone + +tile.block_schrabidium.name=Schrabidiumblock +item.plate_gold.name=Goldplatte + +item.syringe_empty.name=Leere Spritze +item.syringe_antidote.name=Gegenmittel +item.syringe_awesome.name=AWESOME +item.syringe_metal_empty.name=Metallspritze +item.syringe_metal_stimpak.name=Stimpak + +entity.hbm.entity_bullet.name=Patrone +entity.hbm.entity_rocket.name=Rakete +entity.hbm.entity_schrabnel.name=Schrabnel +entity.entity_mob_nuclear_creeper.name=Nuklearer Creeper + +item.cap_aluminium.name=Aluminiumdeckel +item.hull_small_steel.name=Kleine Stahlhülle +item.hull_small_aluminium.name=Kleine Aluminiumhülle +item.hull_big_steel.name=Große Stahlhülle +item.hull_big_aluminium.name=Große Aluminiumhülle +item.hull_big_titanium.name=Große Titanhülle +item.fins_flat.name=Flache Stahlabdeckung +item.fins_small_steel.name=Kleine Stahlgitterfinnen +item.fins_big_steel.name=Große Stahlgitterfinnen +item.fins_tri_steel.name=Große Stahlflossen +item.fins_quad_titanium.name=Kleine Titanflossen +item.sphere_steel.name=Stahlhohlkugel +item.pedestal_steel.name=Stahlsockel +item.dysfunctional_reactor.name=Funktionsunfähiger Atomreaktor + +item.igniter.name=Zünder +item.watch.name=Zerbrochene Taschenuhr +item.apple_euphemium.name=Euphemiumapfel +item.ingot_euphemium.name=Euphemiumbarren +item.nugget_euphemium.name=Euphemiumnugget +item.rod_quad_euphemium.name=Ausgebrannter Schrabidiumvierfachbrennstab + +item.euphemium_helmet.name=Euphemiumstiefel +item.euphemium_plate.name=Euphemiumbrustplatte +item.euphemium_legs.name=Euphemiumbeinschutz +item.euphemium_boots.name=Euphemiumstiefel + +item.schrabidium_helmet.name=Schrabidiumhelm +item.schrabidium_plate.name=Schrabidiumbrustplatte +item.schrabidium_legs.name=Schrabidiumbeinschutz +item.schrabidium_boots.name=Schrabidiumstiefel +item.schrabidium_sword.name=Schrabidiumschwert +item.schrabidium_pickaxe.name=Schrabidiumspitzhacke +item.schrabidium_axe.name=Schrabidiumaxt +item.schrabidium_shovel.name=Schrabidiumschaufel +item.schrabidium_hoe.name=Schrabidiumfeldhacke + +item.mask_of_infamy.name=Maske der Schande + +tile.det_cord.name=Det Cord +tile.red_barrel.name=Explosives Fass +tile.yellow_barrel.name=Radioaktives Fass + +item.designator.name=Kurzdistanz Zielmarkierer +item.missile_generic.name=HE Rakete +item.missile_anti_ballistic.name=Flugabwehrrakete +item.missile_incendiary.name=Brandrakete +item.missile_cluster.name=Streurakete +item.missile_buster.name=Bunkerbrechende Rakete +item.missile_strong.name=Starke HE Rakete +item.missile_incendiary_strong.name=Starke Brandrakete +item.missile_cluster_strong.name=Starke Streurakete +item.missile_buster_strong.name=Verbesserte bunkerbrechende Rakete +item.missile_burst.name=Spare Missile +item.missile_inferno.name=Inferno Missile G.R.N. Mk.II +item.missile_rain.name=Schüttbombenregen +item.missile_drill.name=Der Betonbrecher +item.missile_nuclear.name=Atomrakete +item.missile_nuclear_cluster.name=Atomare MIRV-Rakete +item.missile_endo.name=Endothermische Rakete +item.missile_exo.name=Exothermische Rakete + +item.hazmat_helmet.name=Strahlenschutzhelm +item.hazmat_plate.name=Strahlenschutzbrustplatte +item.hazmat_legs.name=Strahlenschutzhose +item.hazmat_boots.name=Strahlenschutzstiefel + +item.goggles.name=Schutzbrille +item.gas_mask.name=Gasmaske + +item.t45_helmet.name=T45-Powerrüstungshelm +item.t45_plate.name=T45-Powerrüstungsbrustpanzer +item.t45_legs.name=T45-Powerrüstungsbeinschutz +item.t45_boots.name=T45-Powerrüstungsstiefel \ No newline at end of file diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang new file mode 100644 index 000000000..8e01f5c57 --- /dev/null +++ b/assets/hbm/lang/en_US.lang @@ -0,0 +1,483 @@ +itemGroup.tabTest=Nuclear Tech Mod Test Tab +itemGroup.tabParts=Nuclear Tech Mod Parts +itemGroup.tabBlocks=Nuclear Tech Mod Blocks +itemGroup.tabNuke=Nuclear Tech Mod Nukes + +item.redstone_sword.name=Redstone Sword +item.big_sword.name=Great Sword +item.test_nuke_igniter.name=Igniter +item.test_nuke_propellant.name=Propellant +item.test_nuke_tier1_shielding.name=Neutron Reflector (Tier 1) +item.test_nuke_tier2_shielding.name=Neutron Reflector (Tier 2) +item.test_nuke_tier1_bullet.name=U235 Projectile (Tier 1) +item.test_nuke_tier2_bullet.name=MOX Projectile (Tier 2) +item.test_nuke_tier1_target.name=Subcritical U235 Target (Tier 1) +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_core.name=Plutonium Core + +item.boy_igniter.name=Bomb Igniter +item.boy_propellant.name=Propellant +item.boy_bullet.name=U235 Projectile +item.boy_target.name=Subcritical U235 Target +item.boy_shielding.name=Neutron Shielding + +item.man_explosive.name=Propellant +item.man_explosive8.name=Bundle of Propellant +item.man_igniter.name=Bomb Igniter +item.man_core.name=Plutonium Core + +item.mike_core.name=Uranium Coated Deuterium Tank +item.mike_deut.name=Deuterium Tank +item.mike_cooling_unit.name=Deuterium Cooling Unit + +item.tsar_core.name=Tsar Bomba Core + +item.fleija_igniter.name=Pulseigniter +item.fleija_propellant.name=Schrabidiumpropellant +item.fleija_core.name=F.L.E.I.J.A. Uranium 235 Charge + +container.nukeGadget=The Gadget +container.nukeBoy=Little Boy +container.nukeMan=Fat Man +container.nukeMike=Ivy Mike +container.nukeTsar=Tsar Bomba +container.nukeFleija=F.L.E.I.J.A. +container.nukePrototype=The Prototype + +container.bombMulti=Multi Purpose Bomb + +tile.nuke_gadget.name=The Gadget +tile.nuke_boy.name=Little Boy +tile.nuke_man.name=Fat Man +tile.nuke_mike.name=Ivy Mike +tile.nuke_tsar.name=Tsar Bomba +tile.nuke_fleija.name=F.L.E.I.J.A. +tile.nuke_prototype.name=The Prototype + +tile.bomb_multi.name=Multi Purpose Bomb + +tile.flame_war.name=Flame War in a Box +tile.float_bomb.name=Levitation Bomb +tile.therm_endo.name=Endothermic Bomb +tile.therm_exo.name=Exothermic Bomb + +tile.machine_difurnace_off.name=Alloy Furnace +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 +container.uf6_tank=UF6 Tank +tile.machine_puf6_tank.name=Plutonium Hexafluorite Tank +container.puf6_tank=PuF6 Tank +tile.machine_reactor.name=Breeding Reactor +container.reactor=Breeding Reactor +tile.machine_nuke_furnace_off.name=Nuclear Powered Furnace +tile.machine_nuke_furnace_on.name=Nuclear Powered Furnace +container.nukeFurnace=Nuclear Powered Furnace +tile.machine_rtg_furnace_off.name=RTG Furnace +tile.machine_rtg_furnace_on.name=RTG Furnace +container.rtgFurnace=RTG Furnace +tile.machine_electric_furnace_off.name=Electric Furnace +tile.machine_electric_furnace_on.name=Electric Furnace +container.electricFurnace=Electric Furnace +tile.machine_generator.name=Nuclear Reactor +container.generator=Nuclear Reactor +tile.red_wire_coated.name=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 +tile.machine_coal_off.name=Coal Generator +tile.machine_coal_on.name=Coal Generator +container.machineCoal=Coal Generator +tile.launch_pad.name=Missile Launch Pad +container.launchPad=Missile Launch Pad +tile.book_guide.name=Hbm's Nuclear Tech Mod Manual + +tile.test_nuke.name=Test Nuke + +item.ingot_uranium.name=Uranium Ingot +item.ingot_u235.name=U235 Ingot +item.ingot_u238.name=U238 Ingot +item.ingot_plutonium.name=Plutonium Ingot +item.ingot_pu238.name=Pu238 Ingot +item.ingot_pu239.name=Pu239 Ingot +item.ingot_pu240.name=Pu240 Ingot +item.ingot_titanium.name=Titanium Ingot +item.sulfur.name=Sulfur + +item.niter.name=Niter +item.ingot_copper.name=Industrial Grade Copper +item.ingot_red_copper.name=Minecraft Grade Copper +item.ingot_tungsten.name=Tungsten Ingot +item.ingot_aluminium.name=Aluminium Ingot +item.fluorite.name=Fluorite +item.ingot_steel.name=Steel Ingot +item.plate_steel.name=Steel Plate +item.ingot_beryllium.name=Beryllium Ingot +item.plate_schrabidium.name=Schrabidium Plate +item.ingot_schrabidium.name=Schrabidium Ingot +item.nugget_schrabidium.name=Schrabidium Nugget +item.plate_copper.name=Copper Plate + +item.nugget_u235.name=U235 Nugget +item.nugget_u238.name=U238 Nugget +item.nugget_pu238.name=Pu238 Nugget +item.nugget_pu239.name=Pu239 Nugget +item.nugget_pu240.name=Pu240 Nugget +item.plate_titanium.name=Titanium Plate +item.plate_aluminium.name=Aluminium Plate +item.wire_red_copper.name=Red Copper Wire +item.neutron_reflector.name=Neutron Reflector +item.nugget_beryllium.name=Beryllium Nugget + +item.wire_aluminium.name=Aluminium Wire +item.wire_copper.name=Copper Wire +item.wire_gold.name=Gold Wire +item.wire_schrabidium.name=Schrabidium Wire + +item.circuit_aluminium.name=Basic Circuit +item.circuit_copper.name=Enhanced Circuit +item.circuit_red_copper.name=Advanved Circuit +item.circuit_gold.name=Overclocked Circuit +item.circuit_schrabidium.name=High Performance Circuit + +tile.block_aluminium.name=Block of Aluminium +tile.block_copper.name=Block of Copper +tile.block_fluorite.name=Block of Fluorite +tile.block_niter.name=Block of Niter +tile.block_red_copper.name=Block of Red Copper +tile.block_steel.name=Block of Steel +tile.block_sulfur.name=Block of Sulfur +tile.block_titanium.name=Block of Titanium +tile.block_tungsten.name=Block of Tungsten +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.ore_aluminium.name=Aluminium Ore +tile.ore_copper.name=Copper Ore +tile.ore_fluorite.name=Fluorite Ore +tile.ore_niter.name=Niter Ore +tile.ore_sulfur.name=Sulfur Ore +tile.ore_titanium.name=Titanium Ore +tile.ore_tungsten.name=Tungsten Ore +tile.ore_uranium.name=Uranium Ore +tile.ore_schrabidium.name=Schrabidium Ore +tile.ore_beryllium.name=Beryllium Ore + +tile.reinforced_brick.name=Reinforced Stone +tile.reinforced_glass.name=Reinforced Glass +tile.reinforced_sand.name=Reinforced Sandstone +tile.reinforced_light.name=Reinforced Glowstone +tile.reinforced_lamp_off.name=Reinforced Lamp +tile.reinforced_lamp_on.name=Reinforced Lamp + +tile.brick_concrete.name=Concrete Bricks +tile.brick_obsidian.name=Obsidian Bricks +tile.brick_light.name=Light Bricks + +item.nugget_uranium.name=Uranium Nugget +item.nugget_plutonium.name=Plutonium Nugget +item.nugget_neptunium.name=Neptunium Nugget +item.ingot_neptunium.name=Neptunium Ingot +item.nugget_lead.name=Lead Nugget +item.ingot_lead.name=Lead Ingot +tile.block_lead.name=Block of Lead +tile.ore_lead.name=Lead Ore + +item.powder_lead.name=Lead Powder +item.powder_neptunium.name=Neptunium Powder +item.powder_schrabidium.name=Schrabidium Powder + +item.battery_generic.name=Battery +item.battery_advanced.name=Advanced Battery +item.battery_schrabidium.name=Schrabidium Battery +item.battery_creative.name=Infinite Battery + +item.fusion_core.name=Fusion Core + +item.plate_iron.name=Iron Plate +item.plate_lead.name=Lead Plate +item.coil_copper.name=Copper Coil +item.coil_copper_torus.name=Ring Coil +item.wire_tungsten.name=Tungsten Wire +item.coil_tungsten.name=Heating Coil +item.tank_steel.name=Steel Tank +item.motor.name=Motor +item.centrifuge_element.name=Centrifuge Element +item.centrifuge_tower.name=Centrifuge Tower +item.reactor_core.name=Breeding Reactor Core +item.pellet_rtg.name=Plutonium 238 Fuel Pellet +item.rtg_unit.name=RTG Unit + +item.cell_empty.name=Empty Cell +item.cell_uf6.name=Uranium Hexafluorite Cell +item.cell_puf6.name=Plutonium Hexafluorite Cell +item.cell_antimatter.name=Antimatter Cell +item.cell_deuterium.name=Deuterium Cell +item.cell_sas3.name=Schrabidiumtrisulfide Cell + +item.rod_empty.name=Emty Rod +item.rod_uranium.name=Uranium Rod +item.rod_u235.name=U235 Rod +item.rod_u238.name=U238 Rod +item.rod_plutonium.name=Plutonium Rod +item.rod_pu238.name=Pu238 Rod +item.rod_pu239.name=Pu239 Rod +item.rod_pu240.name=Pu240 Rod +item.rod_neptunium.name=Neptunium Rod +item.rod_lead.name=Lead Rod +item.rod_schrabidium.name=Schrabidium Rod + +item.rod_dual_empty.name=Emty Dual Rod +item.rod_dual_uranium.name=Uranium Dual Fl Rod +item.rod_dual_u235.name=U235 Dual Rod +item.rod_dual_u238.name=U238 Dual Rod +item.rod_dual_plutonium.name=Plutonium Dual Rod +item.rod_dual_pu238.name=Pu238 Dual Rod +item.rod_dual_pu239.name=Pu239 Dual Rod +item.rod_dual_pu240.name=Pu240 Dual Rod +item.rod_dual_neptunium.name=Neptunium Dual Rod +item.rod_dual_lead.name=Lead Dual Rod +item.rod_dual_schrabidium.name=Schrabidium Dual Rod + +item.rod_quad_empty.name=Emty Quad Rod +item.rod_quad_uranium.name=Uranium Quad Rod +item.rod_quad_u235.name=U235 Quad Rod +item.rod_quad_u238.name=U238 Quad Rod +item.rod_quad_plutonium.name=Plutonium Quad Rod +item.rod_quad_pu238.name=Pu238 Quad Rod +item.rod_quad_pu239.name=Pu239 Quad Rod +item.rod_quad_pu240.name=Pu240 Quad Rod +item.rod_quad_neptunium.name=Neptunium Quad Rod +item.rod_quad_lead.name=Lead Quad Rod +item.rod_quad_schrabidium.name=Schrabidium Quad Rod + +item.rod_uranium_fuel_depleted.name=Depleted Uranium Fuel Rod +item.rod_dual_uranium_fuel_depleted.name=Depleted Uranium Dual Fuel Rod +item.rod_quad_uranium_fuel_depleted.name=Depleted Uranium Quad Fuel Rod +item.rod_plutonium_fuel_depleted.name=Depleted Plutonium Fuel Rod +item.rod_dual_plutonium_fuel_depleted.name=Depleted Plutonium Dual Fuel Rod +item.rod_quad_plutonium_fuel_depleted.name=Depleted Plutonium Quad Fuel Rod +item.rod_mox_fuel_depleted.name=Depleted MOX Fuel Rod +item.rod_dual_mox_fuel_depleted.name=Depleted MOX Dual Fuel Rod +item.rod_quad_mox_fuel_depleted.name=Depleted MOX Quad Fuel Rod +item.rod_schrabidium_fuel_depleted.name=Depleted Schrabidium Fuel Rod +item.rod_dual_schrabidium_fuel_depleted.name=Depleted Schrabidium Dual Fuel Rod +item.rod_quad_schrabidium_fuel_depleted.name=Depleted Schrabidium Quad Fuel Rod + +item.rod_waste.name=Nuclear Waste Rod +item.rod_dual_waste.name=Nuclear Waste Dual Rod +item.rod_quad_waste.name=Nuclear Waste Quad Rod + +item.gun_rpg.name=RPG +item.gun_rpg_ammo.name=Rocket + +item.flame_pony.name=Painting of a Cartoon Pony +item.flame_conspiracy.name=Conspiracy Theory +item.flame_politics.name=Political Topic +item.flame_opinion.name=Own Opinion + +item.pellet_cluster.name=Explosive Pellets +item.powder_fire.name=Flame Powder +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_advanced_kit.name=Atomic Science Advanced Kit +item.gadget_kit.name=The Gadget Kit +item.boy_kit.name=Little Boy Kit +item.man_kit.name=Fat Man Kit +item.mike_kit.name=Ivy Mike Kit +item.tsar_kit.name=Tsar Bomba Kit +item.fleija_kit.name=F.L.E.I.J.A. Kit +item.multi_kit.name=Multi Purpose Bomb Kit +item.grenade_kit.name=Grenade Kit +item.nuke_electric_kit.name=Electronic Engineer's Kit +item.prototype_kit.name=Prototype Kit + +tile.waste_earth.name=Dead Grass +tile.waste_trinitite.name=Trinitite Ore +tile.waste_trinitite_red.name=Red Trinitite Ore +tile.waste_log.name=Charred Log +tile.waste_planks.name=Charred Wooden Planks + +item.trinitite.name=Trinitite +item.nuclear_waste.name=Nuclear Waste + +item.ingot_uranium_fuel.name=Ingot of Uranium Fuel +item.ingot_plutonium_fuel.name=Ingot of Plutonium Fuel +item.ingot_mox_fuel.name=Ingot of MOX Fuel +item.ingot_schrabidium_fuel.name=Ingot of Schrabidium Fuel + +item.nugget_uranium_fuel.name=Nugget of Uranium Fuel +item.nugget_plutonium_fuel.name=Nugget of Plutonium Fuel +item.nugget_mox_fuel.name=Nugget of MOX Fuel +item.nugget_schrabidium_fuel.name=Nugget of Schrabidium Fuel + +item.grenade_generic.name=Grenade +item.grenade_strong.name=Enhanced Grenade +item.grenade_frag.name=Frag Grenade +item.grenade_fire.name=Flame Frag Grenade +item.grenade_cluster.name=Cluster Bomb +item.grenade_flare.name=Flare Grenade +item.grenade_electric.name=Lightning Bomb +item.grenade_poison.name=Poison Grenade +item.grenade_gas.name=Gas Grenade +item.grenade_schrabidium.name=Schrabidium Grenade +item.grenade_nuke.name=Mark VI Drill Grenade + +item.rod_uranium_fuel.name=Uranium Fuel Rod +item.rod_dual_uranium_fuel.name=Uranium Dual Fuel Rod +item.rod_quad_uranium_fuel.name=Uranium Quad Fuel Rod +item.rod_plutonium_fuel.name=Plutonium Fuel Rod +item.rod_dual_plutonium_fuel.name=Plutonium Dual Fuel Rod +item.rod_quad_plutonium_fuel.name=Plutonium Quad Fuel Rod +item.rod_mox_fuel.name=MOX Fuel Rod +item.rod_dual_mox_fuel.name=MOX Dual Fuel Rod +item.rod_quad_mox_fuel.name=MOX Quad Fuel Rod +item.rod_schrabidium_fuel.name=Schrabidium Fuel Rod +item.rod_dual_schrabidium_fuel.name=Schrabidium Dual Fuel Rod +item.rod_quad_schrabidium_fuel.name=Schrabidium Quad Fuel Rod + +item.rod_water.name=Water Cell +item.rod_dual_water.name=Dual Water Cell +item.rod_quad_water.name=Quad Water Cell + +item.rod_coolant.name=Coolant Cell +item.rod_dual_coolant.name=Dual Coolant Cell +item.rod_quad_coolant.name=Quad Coolant Cell + +item.levitation_unit.name=Gravitymanipulator +item.thermo_unit_empty.name=Thermic Distribution Unit +item.thermo_unit_endo.name=Coldness Distribution Unit +item.thermo_unit_exo.name=Heat Distribution Unit + +item.bomb_waffle.name=Waffle of Mass Destruction +item.schnitzel_vegan.name=Vegan Schnitzel +item.apple_schrabidium.name=Schrabidium Apple +item.cotton_candy.name=Radioactive Cotton Candy + +tile.frozen_grass.name=Frozen Grass +tile.frozen_dirt.name=Frozen Dirt +tile.frozen_log.name=Frozen Log +tile.frozen_planks.name=Frozen Planks + +tile.tape_recorder.name=Tape Recorder +tile.steel_poles.name=Steel Pole +tile.pole_top.name=Antenna Top +tile.pole_satellite_receiver.name=Satellite Receiver +tile.steel_wall.name=Steel Wall +tile.steel_corner.name=Steel Wall Corner +tile.steel_roof.name=Flat Steel Roof +tile.steel_beam.name=Steel Beam +tile.steel_scaffold.name=Steel Scaffold + +item.gun_revolver_iron.name=Simple Revolver +item.gun_revolver.name=Enhanced Revolver +item.gun_revolver_gold.name=Golden Revolver +item.gun_revolver_schrabidium.name=Schrabidium Revolver +item.gun_revolver_cursed.name=Cursed Revolver + +item.gun_revolver_iron_ammo.name=Bullet +item.gun_revolver_ammo.name=Lead Bullet +item.gun_revolver_gold_ammo.name=Golden Bullet +item.gun_revolver_schrabidium_ammo.name=Schrabidium Bullet +item.gun_revolver_cursed_ammo.name=Steel Bullet + +tile.block_schrabidium.name=Block of Schrabidium +item.plate_gold.name=Gold Plate + +item.syringe_empty.name=Empty Syringe +item.syringe_antidote.name=Antidote +item.syringe_awesome.name=AWESOME +item.syringe_metal_empty.name=Metal Syringe +item.syringe_metal_stimpak.name=Stimpak + +entity.hbm.entity_bullet.name=Bullet +entity.hbm.entity_rocket.name=Rocket +entity.hbm.entity_schrabnel.name=Schrabnel +entity.entity_mob_nuclear_creeper.name=Nuclear Creeper + +item.cap_aluminium.name=Aluminium Cap +item.hull_small_steel.name=Small Steel Shell +item.hull_small_aluminium.name=Small Aluminium Shell +item.hull_big_steel.name=Big Steel Shell +item.hull_big_aluminium.name=Big Aluminium Shell +item.hull_big_titanium.name=Big Titanium Shell +item.fins_flat.name=Flat Steel Casing +item.fins_small_steel.name=Small Steel Grid Fins +item.fins_big_steel.name=Big Steel Grid Fins +item.fins_tri_steel.name=Large Steel Fins +item.fins_quad_titanium.name=Small Titanium Fins +item.sphere_steel.name=Steel Sphere +item.pedestal_steel.name=Steel Pedestal +item.dysfunctional_reactor.name=Dysfunctional Nuclear Reactor + +item.igniter.name=Igniter +item.watch.name=Broken Pocket Watch +item.apple_euphemium.name=Euphemium Apple +item.ingot_euphemium.name=Euphemium Ingot +item.nugget_euphemium.name=Euphemium Nugget +item.rod_quad_euphemium.name=Burned Out Quad Schrabidium Fuel Rod + +item.euphemium_helmet.name=Euphemium Helemt +item.euphemium_plate.name=Euphemium Chestplate +item.euphemium_legs.name=Euphemium Leggings +item.euphemium_boots.name=Euphemiums Boots + +item.schrabidium_helmet.name=Schrabidium Helmet +item.schrabidium_plate.name=Schrabidium Chestpate +item.schrabidium_legs.name=Schrabidium Leggings +item.schrabidium_boots.name=Schrabidium Boots +item.schrabidium_sword.name=Schrabidium Sword +item.schrabidium_pickaxe.name=Schrabidium Pickaxe +item.schrabidium_axe.name=Schrabidium Axe +item.schrabidium_shovel.name=Schrabidium Shovel +item.schrabidium_hoe.name=Schrabidium Hoe + +item.mask_of_infamy.name=Mask of Infamy + +tile.det_cord.name=Det Cord +tile.red_barrel.name=Explosive Barrel +tile.yellow_barrel.name=Radioactive Barrel + +item.designator.name=Short Range Target Designator +item.missile_generic.name=High Explosive Missile +item.missile_anti_ballistic.name=Anti Ballistic Missile +item.missile_incendiary.name=Incendiary Missile +item.missile_cluster.name=Cluster Missile +item.missile_buster.name=Bunker Buster +item.missile_strong.name=Strong HE Missile +item.missile_incendiary_strong.name=Strong Incendiary Missile +item.missile_cluster_strong.name=Strong Cluster Missile +item.missile_buster_strong.name=Enhanced Bunker Buster +item.missile_burst.name=Spare Missile +item.missile_inferno.name=Inferno Missile G.R.N. Mk.II +item.missile_rain.name=Bomblet Rain +item.missile_drill.name=The Concrete Cracker +item.missile_nuclear.name=Nuclear Missile +item.missile_nuclear_cluster.name=Nuclear MIRV Missile +item.missile_endo.name=Endothermic Missile +item.missile_exo.name=Exothermic Missile + +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.goggles.name=Protection Goggles +item.gas_mask.name=Gas Mask + +item.t45_helmet.name=T45 Power Armor Helmet +item.t45_plate.name=T45 Power Armor Chestplate +item.t45_legs.name=T45 Power Armor Leggings +item.t45_boots.name=T45 Power Armor Boots \ No newline at end of file diff --git a/assets/hbm/lang/test.lang b/assets/hbm/lang/test.lang new file mode 100644 index 000000000..d4253e988 --- /dev/null +++ b/assets/hbm/lang/test.lang @@ -0,0 +1 @@ +äÄöÖüÜß \ No newline at end of file diff --git a/assets/hbm/textures/armor/MaskOfInfamy.png b/assets/hbm/textures/armor/MaskOfInfamy.png new file mode 100644 index 000000000..46e7224c3 Binary files /dev/null and b/assets/hbm/textures/armor/MaskOfInfamy.png differ diff --git a/assets/hbm/textures/armor/euphemium_1.png b/assets/hbm/textures/armor/euphemium_1.png new file mode 100644 index 000000000..0fd1768d0 Binary files /dev/null and b/assets/hbm/textures/armor/euphemium_1.png differ diff --git a/assets/hbm/textures/armor/euphemium_2.png b/assets/hbm/textures/armor/euphemium_2.png new file mode 100644 index 000000000..6a76d088f Binary files /dev/null and b/assets/hbm/textures/armor/euphemium_2.png differ diff --git a/assets/hbm/textures/armor/hazmat_1.png b/assets/hbm/textures/armor/hazmat_1.png new file mode 100644 index 000000000..5a2a2ccfc Binary files /dev/null and b/assets/hbm/textures/armor/hazmat_1.png differ diff --git a/assets/hbm/textures/armor/hazmat_2.png b/assets/hbm/textures/armor/hazmat_2.png new file mode 100644 index 000000000..5c354c221 Binary files /dev/null and b/assets/hbm/textures/armor/hazmat_2.png differ diff --git a/assets/hbm/textures/armor/schrabidium_1.png b/assets/hbm/textures/armor/schrabidium_1.png new file mode 100644 index 000000000..ad4b7be6b Binary files /dev/null and b/assets/hbm/textures/armor/schrabidium_1.png differ diff --git a/assets/hbm/textures/armor/schrabidium_2.png b/assets/hbm/textures/armor/schrabidium_2.png new file mode 100644 index 000000000..a5f2b8b73 Binary files /dev/null and b/assets/hbm/textures/armor/schrabidium_2.png differ diff --git a/assets/hbm/textures/armor/test_1.png b/assets/hbm/textures/armor/test_1.png new file mode 100644 index 000000000..a6760ae39 Binary files /dev/null and b/assets/hbm/textures/armor/test_1.png differ diff --git a/assets/hbm/textures/armor/test_2.png b/assets/hbm/textures/armor/test_2.png new file mode 100644 index 000000000..e3774a662 Binary files /dev/null and b/assets/hbm/textures/armor/test_2.png differ diff --git a/assets/hbm/textures/blocks/battery_front.png b/assets/hbm/textures/blocks/battery_front.png new file mode 100644 index 000000000..fe0c31d47 Binary files /dev/null and b/assets/hbm/textures/blocks/battery_front.png differ diff --git a/assets/hbm/textures/blocks/battery_front_alt.png b/assets/hbm/textures/blocks/battery_front_alt.png new file mode 100644 index 000000000..fbece0fca Binary files /dev/null and b/assets/hbm/textures/blocks/battery_front_alt.png differ diff --git a/assets/hbm/textures/blocks/battery_side.png b/assets/hbm/textures/blocks/battery_side.png new file mode 100644 index 000000000..7cfad2e99 Binary files /dev/null and b/assets/hbm/textures/blocks/battery_side.png differ diff --git a/assets/hbm/textures/blocks/battery_side_alt.png b/assets/hbm/textures/blocks/battery_side_alt.png new file mode 100644 index 000000000..f46168c55 Binary files /dev/null and b/assets/hbm/textures/blocks/battery_side_alt.png differ diff --git a/assets/hbm/textures/blocks/block_aluminium.png b/assets/hbm/textures/blocks/block_aluminium.png new file mode 100644 index 000000000..893f1113c Binary files /dev/null and b/assets/hbm/textures/blocks/block_aluminium.png differ diff --git a/assets/hbm/textures/blocks/block_beryllium.png b/assets/hbm/textures/blocks/block_beryllium.png new file mode 100644 index 000000000..6f4d72f5f Binary files /dev/null and b/assets/hbm/textures/blocks/block_beryllium.png differ diff --git a/assets/hbm/textures/blocks/block_copper.png b/assets/hbm/textures/blocks/block_copper.png new file mode 100644 index 000000000..0c34be4b9 Binary files /dev/null and b/assets/hbm/textures/blocks/block_copper.png differ diff --git a/assets/hbm/textures/blocks/block_fluorite.png b/assets/hbm/textures/blocks/block_fluorite.png new file mode 100644 index 000000000..84b6518d6 Binary files /dev/null and b/assets/hbm/textures/blocks/block_fluorite.png differ diff --git a/assets/hbm/textures/blocks/block_lead.png b/assets/hbm/textures/blocks/block_lead.png new file mode 100644 index 000000000..6c3a26005 Binary files /dev/null and b/assets/hbm/textures/blocks/block_lead.png differ diff --git a/assets/hbm/textures/blocks/block_niter.png b/assets/hbm/textures/blocks/block_niter.png new file mode 100644 index 000000000..4f20a621a Binary files /dev/null and b/assets/hbm/textures/blocks/block_niter.png differ diff --git a/assets/hbm/textures/blocks/block_red_copper.png b/assets/hbm/textures/blocks/block_red_copper.png new file mode 100644 index 000000000..69c2027cb Binary files /dev/null and b/assets/hbm/textures/blocks/block_red_copper.png differ diff --git a/assets/hbm/textures/blocks/block_schrabidium.png b/assets/hbm/textures/blocks/block_schrabidium.png new file mode 100644 index 000000000..84d245d48 Binary files /dev/null and b/assets/hbm/textures/blocks/block_schrabidium.png differ diff --git a/assets/hbm/textures/blocks/block_steel.png b/assets/hbm/textures/blocks/block_steel.png new file mode 100644 index 000000000..56cc48963 Binary files /dev/null and b/assets/hbm/textures/blocks/block_steel.png differ diff --git a/assets/hbm/textures/blocks/block_sulfur.png b/assets/hbm/textures/blocks/block_sulfur.png new file mode 100644 index 000000000..a8e669d97 Binary files /dev/null and b/assets/hbm/textures/blocks/block_sulfur.png differ diff --git a/assets/hbm/textures/blocks/block_titanium.png b/assets/hbm/textures/blocks/block_titanium.png new file mode 100644 index 000000000..d622ef6e5 Binary files /dev/null and b/assets/hbm/textures/blocks/block_titanium.png differ diff --git a/assets/hbm/textures/blocks/block_trinitite.png b/assets/hbm/textures/blocks/block_trinitite.png new file mode 100644 index 000000000..8d29b48fc Binary files /dev/null and b/assets/hbm/textures/blocks/block_trinitite.png differ diff --git a/assets/hbm/textures/blocks/block_tungsten.png b/assets/hbm/textures/blocks/block_tungsten.png new file mode 100644 index 000000000..95b900b55 Binary files /dev/null and b/assets/hbm/textures/blocks/block_tungsten.png differ diff --git a/assets/hbm/textures/blocks/block_uranium.png b/assets/hbm/textures/blocks/block_uranium.png new file mode 100644 index 000000000..a3b3f680c Binary files /dev/null and b/assets/hbm/textures/blocks/block_uranium.png differ diff --git a/assets/hbm/textures/blocks/block_waste.png b/assets/hbm/textures/blocks/block_waste.png new file mode 100644 index 000000000..726fb3b18 Binary files /dev/null and b/assets/hbm/textures/blocks/block_waste.png differ diff --git a/assets/hbm/textures/blocks/bomb_float.png b/assets/hbm/textures/blocks/bomb_float.png new file mode 100644 index 000000000..d0f4ae485 Binary files /dev/null and b/assets/hbm/textures/blocks/bomb_float.png differ diff --git a/assets/hbm/textures/blocks/bomb_float_top.png b/assets/hbm/textures/blocks/bomb_float_top.png new file mode 100644 index 000000000..e3899938e Binary files /dev/null and b/assets/hbm/textures/blocks/bomb_float_top.png differ diff --git a/assets/hbm/textures/blocks/bomb_multi.png b/assets/hbm/textures/blocks/bomb_multi.png new file mode 100644 index 000000000..9f33f9e8d Binary files /dev/null and b/assets/hbm/textures/blocks/bomb_multi.png differ diff --git a/assets/hbm/textures/blocks/bomb_multi1.png b/assets/hbm/textures/blocks/bomb_multi1.png new file mode 100644 index 000000000..1306ee03d Binary files /dev/null and b/assets/hbm/textures/blocks/bomb_multi1.png differ diff --git a/assets/hbm/textures/blocks/brick_concrete.png b/assets/hbm/textures/blocks/brick_concrete.png new file mode 100644 index 000000000..00845a2a4 Binary files /dev/null and b/assets/hbm/textures/blocks/brick_concrete.png differ diff --git a/assets/hbm/textures/blocks/brick_light.png b/assets/hbm/textures/blocks/brick_light.png new file mode 100644 index 000000000..083fa23d5 Binary files /dev/null and b/assets/hbm/textures/blocks/brick_light.png differ diff --git a/assets/hbm/textures/blocks/brick_obsidian.png b/assets/hbm/textures/blocks/brick_obsidian.png new file mode 100644 index 000000000..279923add Binary files /dev/null and b/assets/hbm/textures/blocks/brick_obsidian.png differ diff --git a/assets/hbm/textures/blocks/deco_pole_top.png b/assets/hbm/textures/blocks/deco_pole_top.png new file mode 100644 index 000000000..f0ea8ef39 Binary files /dev/null and b/assets/hbm/textures/blocks/deco_pole_top.png differ diff --git a/assets/hbm/textures/blocks/deco_satellite_receiver.png b/assets/hbm/textures/blocks/deco_satellite_receiver.png new file mode 100644 index 000000000..f5a72f56d Binary files /dev/null and b/assets/hbm/textures/blocks/deco_satellite_receiver.png differ diff --git a/assets/hbm/textures/blocks/deco_steel_poles.png b/assets/hbm/textures/blocks/deco_steel_poles.png new file mode 100644 index 000000000..ed9fc75e1 Binary files /dev/null and b/assets/hbm/textures/blocks/deco_steel_poles.png differ diff --git a/assets/hbm/textures/blocks/deco_tape_recorder.png b/assets/hbm/textures/blocks/deco_tape_recorder.png new file mode 100644 index 000000000..905f6946c Binary files /dev/null and b/assets/hbm/textures/blocks/deco_tape_recorder.png differ diff --git a/assets/hbm/textures/blocks/det_cord.png b/assets/hbm/textures/blocks/det_cord.png new file mode 100644 index 000000000..66c6c5752 Binary files /dev/null and b/assets/hbm/textures/blocks/det_cord.png differ diff --git a/assets/hbm/textures/blocks/diamond_block.png b/assets/hbm/textures/blocks/diamond_block.png new file mode 100644 index 000000000..f2e2e771a Binary files /dev/null and b/assets/hbm/textures/blocks/diamond_block.png differ diff --git a/assets/hbm/textures/blocks/diamond_ore.png b/assets/hbm/textures/blocks/diamond_ore.png new file mode 100644 index 000000000..735ecdaa9 Binary files /dev/null and b/assets/hbm/textures/blocks/diamond_ore.png differ diff --git a/assets/hbm/textures/blocks/emerald_ore.png b/assets/hbm/textures/blocks/emerald_ore.png new file mode 100644 index 000000000..a26c35f6a Binary files /dev/null and b/assets/hbm/textures/blocks/emerald_ore.png differ diff --git a/assets/hbm/textures/blocks/event_tester.png b/assets/hbm/textures/blocks/event_tester.png new file mode 100644 index 000000000..728fa5e53 Binary files /dev/null and b/assets/hbm/textures/blocks/event_tester.png differ diff --git a/assets/hbm/textures/blocks/fatMan.png b/assets/hbm/textures/blocks/fatMan.png new file mode 100644 index 000000000..4a336ec54 Binary files /dev/null and b/assets/hbm/textures/blocks/fatMan.png differ diff --git a/assets/hbm/textures/blocks/flame_war.png b/assets/hbm/textures/blocks/flame_war.png new file mode 100644 index 000000000..aa552c605 Binary files /dev/null and b/assets/hbm/textures/blocks/flame_war.png differ diff --git a/assets/hbm/textures/blocks/fleija.png b/assets/hbm/textures/blocks/fleija.png new file mode 100644 index 000000000..1fad05da9 Binary files /dev/null and b/assets/hbm/textures/blocks/fleija.png differ diff --git a/assets/hbm/textures/blocks/frozen_dirt.png b/assets/hbm/textures/blocks/frozen_dirt.png new file mode 100644 index 000000000..63842e43b Binary files /dev/null and b/assets/hbm/textures/blocks/frozen_dirt.png differ diff --git a/assets/hbm/textures/blocks/frozen_grass_side.png b/assets/hbm/textures/blocks/frozen_grass_side.png new file mode 100644 index 000000000..8e8b9b81c Binary files /dev/null and b/assets/hbm/textures/blocks/frozen_grass_side.png differ diff --git a/assets/hbm/textures/blocks/frozen_grass_top.png b/assets/hbm/textures/blocks/frozen_grass_top.png new file mode 100644 index 000000000..c9d7535a7 Binary files /dev/null and b/assets/hbm/textures/blocks/frozen_grass_top.png differ diff --git a/assets/hbm/textures/blocks/frozen_log.png b/assets/hbm/textures/blocks/frozen_log.png new file mode 100644 index 000000000..b84ead566 Binary files /dev/null and b/assets/hbm/textures/blocks/frozen_log.png differ diff --git a/assets/hbm/textures/blocks/frozen_log_top.png b/assets/hbm/textures/blocks/frozen_log_top.png new file mode 100644 index 000000000..670ca8a0e Binary files /dev/null and b/assets/hbm/textures/blocks/frozen_log_top.png differ diff --git a/assets/hbm/textures/blocks/frozen_planks.png b/assets/hbm/textures/blocks/frozen_planks.png new file mode 100644 index 000000000..59e3a1465 Binary files /dev/null and b/assets/hbm/textures/blocks/frozen_planks.png differ diff --git a/assets/hbm/textures/blocks/guide_back.png b/assets/hbm/textures/blocks/guide_back.png new file mode 100644 index 000000000..6c894aa0e Binary files /dev/null and b/assets/hbm/textures/blocks/guide_back.png differ diff --git a/assets/hbm/textures/blocks/guide_bottom.png b/assets/hbm/textures/blocks/guide_bottom.png new file mode 100644 index 000000000..0b2a9e437 Binary files /dev/null and b/assets/hbm/textures/blocks/guide_bottom.png differ diff --git a/assets/hbm/textures/blocks/guide_front.png b/assets/hbm/textures/blocks/guide_front.png new file mode 100644 index 000000000..c9be176a5 Binary files /dev/null and b/assets/hbm/textures/blocks/guide_front.png differ diff --git a/assets/hbm/textures/blocks/guide_side_left.png b/assets/hbm/textures/blocks/guide_side_left.png new file mode 100644 index 000000000..2e799be58 Binary files /dev/null and b/assets/hbm/textures/blocks/guide_side_left.png differ diff --git a/assets/hbm/textures/blocks/guide_side_right.png b/assets/hbm/textures/blocks/guide_side_right.png new file mode 100644 index 000000000..1a8514aa9 Binary files /dev/null and b/assets/hbm/textures/blocks/guide_side_right.png differ diff --git a/assets/hbm/textures/blocks/guide_top.png b/assets/hbm/textures/blocks/guide_top.png new file mode 100644 index 000000000..6574dff3d Binary files /dev/null and b/assets/hbm/textures/blocks/guide_top.png differ diff --git a/assets/hbm/textures/blocks/iron_block.png b/assets/hbm/textures/blocks/iron_block.png new file mode 100644 index 000000000..7816799ef Binary files /dev/null and b/assets/hbm/textures/blocks/iron_block.png differ diff --git a/assets/hbm/textures/blocks/iron_ingot.png b/assets/hbm/textures/blocks/iron_ingot.png new file mode 100644 index 000000000..3833fa059 Binary files /dev/null and b/assets/hbm/textures/blocks/iron_ingot.png differ diff --git a/assets/hbm/textures/blocks/ivyMike.png b/assets/hbm/textures/blocks/ivyMike.png new file mode 100644 index 000000000..b4e058a77 Binary files /dev/null and b/assets/hbm/textures/blocks/ivyMike.png differ diff --git a/assets/hbm/textures/blocks/lapis_ore.png b/assets/hbm/textures/blocks/lapis_ore.png new file mode 100644 index 000000000..61442368e Binary files /dev/null and b/assets/hbm/textures/blocks/lapis_ore.png differ diff --git a/assets/hbm/textures/blocks/launch_pad.png b/assets/hbm/textures/blocks/launch_pad.png new file mode 100644 index 000000000..e51527193 Binary files /dev/null and b/assets/hbm/textures/blocks/launch_pad.png differ diff --git a/assets/hbm/textures/blocks/lilBoy.png b/assets/hbm/textures/blocks/lilBoy.png new file mode 100644 index 000000000..b1af15e10 Binary files /dev/null and b/assets/hbm/textures/blocks/lilBoy.png differ diff --git a/assets/hbm/textures/blocks/machine_centrifuge.png b/assets/hbm/textures/blocks/machine_centrifuge.png new file mode 100644 index 000000000..85118da5a Binary files /dev/null and b/assets/hbm/textures/blocks/machine_centrifuge.png differ diff --git a/assets/hbm/textures/blocks/machine_coal_front_off.png b/assets/hbm/textures/blocks/machine_coal_front_off.png new file mode 100644 index 000000000..3f819a1b3 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_coal_front_off.png differ diff --git a/assets/hbm/textures/blocks/machine_coal_front_on.png b/assets/hbm/textures/blocks/machine_coal_front_on.png new file mode 100644 index 000000000..e818e4984 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_coal_front_on.png differ diff --git a/assets/hbm/textures/blocks/machine_coal_side.png b/assets/hbm/textures/blocks/machine_coal_side.png new file mode 100644 index 000000000..68b17556c Binary files /dev/null and b/assets/hbm/textures/blocks/machine_coal_side.png differ diff --git a/assets/hbm/textures/blocks/machine_deuterium_front.png b/assets/hbm/textures/blocks/machine_deuterium_front.png new file mode 100644 index 000000000..5811d823d Binary files /dev/null and b/assets/hbm/textures/blocks/machine_deuterium_front.png differ diff --git a/assets/hbm/textures/blocks/machine_deuterium_side.png b/assets/hbm/textures/blocks/machine_deuterium_side.png new file mode 100644 index 000000000..bd8c49821 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_deuterium_side.png differ diff --git a/assets/hbm/textures/blocks/machine_electric_furnace.png b/assets/hbm/textures/blocks/machine_electric_furnace.png new file mode 100644 index 000000000..77f3e898f Binary files /dev/null and b/assets/hbm/textures/blocks/machine_electric_furnace.png differ diff --git a/assets/hbm/textures/blocks/machine_electric_furnace_front_off.png b/assets/hbm/textures/blocks/machine_electric_furnace_front_off.png new file mode 100644 index 000000000..a3146dbe3 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_electric_furnace_front_off.png differ diff --git a/assets/hbm/textures/blocks/machine_electric_furnace_front_on.png b/assets/hbm/textures/blocks/machine_electric_furnace_front_on.png new file mode 100644 index 000000000..15eab50dd Binary files /dev/null and b/assets/hbm/textures/blocks/machine_electric_furnace_front_on.png differ diff --git a/assets/hbm/textures/blocks/machine_generator.png b/assets/hbm/textures/blocks/machine_generator.png new file mode 100644 index 000000000..4a3bcf52e Binary files /dev/null and b/assets/hbm/textures/blocks/machine_generator.png differ diff --git a/assets/hbm/textures/blocks/machine_generator_side.png b/assets/hbm/textures/blocks/machine_generator_side.png new file mode 100644 index 000000000..0026c42aa Binary files /dev/null and b/assets/hbm/textures/blocks/machine_generator_side.png differ diff --git a/assets/hbm/textures/blocks/machine_nuke_furnace_front_off.png b/assets/hbm/textures/blocks/machine_nuke_furnace_front_off.png new file mode 100644 index 000000000..9e2961432 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_nuke_furnace_front_off.png differ diff --git a/assets/hbm/textures/blocks/machine_nuke_furnace_front_on.png b/assets/hbm/textures/blocks/machine_nuke_furnace_front_on.png new file mode 100644 index 000000000..13059490c Binary files /dev/null and b/assets/hbm/textures/blocks/machine_nuke_furnace_front_on.png differ diff --git a/assets/hbm/textures/blocks/machine_puf6_tank.png b/assets/hbm/textures/blocks/machine_puf6_tank.png new file mode 100644 index 000000000..17934e652 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_puf6_tank.png differ diff --git a/assets/hbm/textures/blocks/machine_rtg_furnace_off.png b/assets/hbm/textures/blocks/machine_rtg_furnace_off.png new file mode 100644 index 000000000..41ce6e648 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_rtg_furnace_off.png differ diff --git a/assets/hbm/textures/blocks/machine_rtg_furnace_on.png b/assets/hbm/textures/blocks/machine_rtg_furnace_on.png new file mode 100644 index 000000000..d5f03087b Binary files /dev/null and b/assets/hbm/textures/blocks/machine_rtg_furnace_on.png differ diff --git a/assets/hbm/textures/blocks/machine_uf6_tank.png b/assets/hbm/textures/blocks/machine_uf6_tank.png new file mode 100644 index 000000000..b2473fdc7 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_uf6_tank.png differ diff --git a/assets/hbm/textures/blocks/ore_aluminium.png b/assets/hbm/textures/blocks/ore_aluminium.png new file mode 100644 index 000000000..aef656044 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_aluminium.png differ diff --git a/assets/hbm/textures/blocks/ore_beryllium.png b/assets/hbm/textures/blocks/ore_beryllium.png new file mode 100644 index 000000000..d4d56f0e5 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_beryllium.png differ diff --git a/assets/hbm/textures/blocks/ore_copper.png b/assets/hbm/textures/blocks/ore_copper.png new file mode 100644 index 000000000..1ad1b90b0 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_copper.png differ diff --git a/assets/hbm/textures/blocks/ore_fluorite.png b/assets/hbm/textures/blocks/ore_fluorite.png new file mode 100644 index 000000000..d1a4b3438 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_fluorite.png differ diff --git a/assets/hbm/textures/blocks/ore_lead.png b/assets/hbm/textures/blocks/ore_lead.png new file mode 100644 index 000000000..e267d8ab5 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_lead.png differ diff --git a/assets/hbm/textures/blocks/ore_lithium.png b/assets/hbm/textures/blocks/ore_lithium.png new file mode 100644 index 000000000..13abb8a06 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_lithium.png differ diff --git a/assets/hbm/textures/blocks/ore_niter.png b/assets/hbm/textures/blocks/ore_niter.png new file mode 100644 index 000000000..9ecd821f6 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_niter.png differ diff --git a/assets/hbm/textures/blocks/ore_salpeter.png b/assets/hbm/textures/blocks/ore_salpeter.png new file mode 100644 index 000000000..d36525f59 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_salpeter.png differ diff --git a/assets/hbm/textures/blocks/ore_schrabidium.png b/assets/hbm/textures/blocks/ore_schrabidium.png new file mode 100644 index 000000000..9c40f494f Binary files /dev/null and b/assets/hbm/textures/blocks/ore_schrabidium.png differ diff --git a/assets/hbm/textures/blocks/ore_sulfur.png b/assets/hbm/textures/blocks/ore_sulfur.png new file mode 100644 index 000000000..54bedd439 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_sulfur.png differ diff --git a/assets/hbm/textures/blocks/ore_titanium.png b/assets/hbm/textures/blocks/ore_titanium.png new file mode 100644 index 000000000..5a3f5d75b Binary files /dev/null and b/assets/hbm/textures/blocks/ore_titanium.png differ diff --git a/assets/hbm/textures/blocks/ore_tungsten.png b/assets/hbm/textures/blocks/ore_tungsten.png new file mode 100644 index 000000000..f78283b1d Binary files /dev/null and b/assets/hbm/textures/blocks/ore_tungsten.png differ diff --git a/assets/hbm/textures/blocks/ore_uranium.png b/assets/hbm/textures/blocks/ore_uranium.png new file mode 100644 index 000000000..7c22fb556 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_uranium.png differ diff --git a/assets/hbm/textures/blocks/prototype.png b/assets/hbm/textures/blocks/prototype.png new file mode 100644 index 000000000..ba0b55cf0 Binary files /dev/null and b/assets/hbm/textures/blocks/prototype.png differ diff --git a/assets/hbm/textures/blocks/reactor_side.png b/assets/hbm/textures/blocks/reactor_side.png new file mode 100644 index 000000000..dc6fa1bc3 Binary files /dev/null and b/assets/hbm/textures/blocks/reactor_side.png differ diff --git a/assets/hbm/textures/blocks/reactor_top.png b/assets/hbm/textures/blocks/reactor_top.png new file mode 100644 index 000000000..f93b61cb9 Binary files /dev/null and b/assets/hbm/textures/blocks/reactor_top.png differ diff --git a/assets/hbm/textures/blocks/red_barrel.png b/assets/hbm/textures/blocks/red_barrel.png new file mode 100644 index 000000000..bebdc4fd2 Binary files /dev/null and b/assets/hbm/textures/blocks/red_barrel.png differ diff --git a/assets/hbm/textures/blocks/red_wire_coated.png b/assets/hbm/textures/blocks/red_wire_coated.png new file mode 100644 index 000000000..ea6d7b403 Binary files /dev/null and b/assets/hbm/textures/blocks/red_wire_coated.png differ diff --git a/assets/hbm/textures/blocks/reinforced_brick.png b/assets/hbm/textures/blocks/reinforced_brick.png new file mode 100644 index 000000000..40ee714c7 Binary files /dev/null and b/assets/hbm/textures/blocks/reinforced_brick.png differ diff --git a/assets/hbm/textures/blocks/reinforced_glass.png b/assets/hbm/textures/blocks/reinforced_glass.png new file mode 100644 index 000000000..1459a7af9 Binary files /dev/null and b/assets/hbm/textures/blocks/reinforced_glass.png differ diff --git a/assets/hbm/textures/blocks/reinforced_lamp_off.png b/assets/hbm/textures/blocks/reinforced_lamp_off.png new file mode 100644 index 000000000..97e6f1367 Binary files /dev/null and b/assets/hbm/textures/blocks/reinforced_lamp_off.png differ diff --git a/assets/hbm/textures/blocks/reinforced_lamp_on.png b/assets/hbm/textures/blocks/reinforced_lamp_on.png new file mode 100644 index 000000000..309d1f9e4 Binary files /dev/null and b/assets/hbm/textures/blocks/reinforced_lamp_on.png differ diff --git a/assets/hbm/textures/blocks/reinforced_light.png b/assets/hbm/textures/blocks/reinforced_light.png new file mode 100644 index 000000000..7d2dc8c1a Binary files /dev/null and b/assets/hbm/textures/blocks/reinforced_light.png differ diff --git a/assets/hbm/textures/blocks/reinforced_sand.png b/assets/hbm/textures/blocks/reinforced_sand.png new file mode 100644 index 000000000..a9851d6b1 Binary files /dev/null and b/assets/hbm/textures/blocks/reinforced_sand.png differ diff --git a/assets/hbm/textures/blocks/steel_beam.png b/assets/hbm/textures/blocks/steel_beam.png new file mode 100644 index 000000000..8745553d7 Binary files /dev/null and b/assets/hbm/textures/blocks/steel_beam.png differ diff --git a/assets/hbm/textures/blocks/steel_corner.png b/assets/hbm/textures/blocks/steel_corner.png new file mode 100644 index 000000000..26effad96 Binary files /dev/null and b/assets/hbm/textures/blocks/steel_corner.png differ diff --git a/assets/hbm/textures/blocks/steel_roof.png b/assets/hbm/textures/blocks/steel_roof.png new file mode 100644 index 000000000..b755c78e9 Binary files /dev/null and b/assets/hbm/textures/blocks/steel_roof.png differ diff --git a/assets/hbm/textures/blocks/steel_scaffold.png b/assets/hbm/textures/blocks/steel_scaffold.png new file mode 100644 index 000000000..eb1a6d09d Binary files /dev/null and b/assets/hbm/textures/blocks/steel_scaffold.png differ diff --git a/assets/hbm/textures/blocks/steel_wall.png b/assets/hbm/textures/blocks/steel_wall.png new file mode 100644 index 000000000..76e4f32fd Binary files /dev/null and b/assets/hbm/textures/blocks/steel_wall.png differ diff --git a/assets/hbm/textures/blocks/test_bomb.png b/assets/hbm/textures/blocks/test_bomb.png new file mode 100644 index 000000000..f9b425a24 Binary files /dev/null and b/assets/hbm/textures/blocks/test_bomb.png differ diff --git a/assets/hbm/textures/blocks/test_container.png b/assets/hbm/textures/blocks/test_container.png new file mode 100644 index 000000000..3d3f7d329 Binary files /dev/null and b/assets/hbm/textures/blocks/test_container.png differ diff --git a/assets/hbm/textures/blocks/test_difurnace_front_off.png b/assets/hbm/textures/blocks/test_difurnace_front_off.png new file mode 100644 index 000000000..85049ee7e Binary files /dev/null and b/assets/hbm/textures/blocks/test_difurnace_front_off.png differ diff --git a/assets/hbm/textures/blocks/test_difurnace_front_off_old.png b/assets/hbm/textures/blocks/test_difurnace_front_off_old.png new file mode 100644 index 000000000..108e4671e Binary files /dev/null and b/assets/hbm/textures/blocks/test_difurnace_front_off_old.png differ diff --git a/assets/hbm/textures/blocks/test_difurnace_front_on.png b/assets/hbm/textures/blocks/test_difurnace_front_on.png new file mode 100644 index 000000000..37edc7a07 Binary files /dev/null and b/assets/hbm/textures/blocks/test_difurnace_front_on.png differ diff --git a/assets/hbm/textures/blocks/test_difurnace_front_on_old.png b/assets/hbm/textures/blocks/test_difurnace_front_on_old.png new file mode 100644 index 000000000..05726a984 Binary files /dev/null and b/assets/hbm/textures/blocks/test_difurnace_front_on_old.png differ diff --git a/assets/hbm/textures/blocks/test_difurnace_side.png b/assets/hbm/textures/blocks/test_difurnace_side.png new file mode 100644 index 000000000..921228c43 Binary files /dev/null and b/assets/hbm/textures/blocks/test_difurnace_side.png differ diff --git a/assets/hbm/textures/blocks/test_difurnace_side_old.png b/assets/hbm/textures/blocks/test_difurnace_side_old.png new file mode 100644 index 000000000..af913d28b Binary files /dev/null and b/assets/hbm/textures/blocks/test_difurnace_side_old.png differ diff --git a/assets/hbm/textures/blocks/test_difurnace_top_off.png b/assets/hbm/textures/blocks/test_difurnace_top_off.png new file mode 100644 index 000000000..ad5b4ef06 Binary files /dev/null and b/assets/hbm/textures/blocks/test_difurnace_top_off.png differ diff --git a/assets/hbm/textures/blocks/test_difurnace_top_off_old.png b/assets/hbm/textures/blocks/test_difurnace_top_off_old.png new file mode 100644 index 000000000..fa590c8b4 Binary files /dev/null and b/assets/hbm/textures/blocks/test_difurnace_top_off_old.png differ diff --git a/assets/hbm/textures/blocks/test_difurnace_top_on.png b/assets/hbm/textures/blocks/test_difurnace_top_on.png new file mode 100644 index 000000000..9304d600f Binary files /dev/null and b/assets/hbm/textures/blocks/test_difurnace_top_on.png differ diff --git a/assets/hbm/textures/blocks/test_difurnace_top_on_old.png b/assets/hbm/textures/blocks/test_difurnace_top_on_old.png new file mode 100644 index 000000000..231440b69 Binary files /dev/null and b/assets/hbm/textures/blocks/test_difurnace_top_on_old.png differ diff --git a/assets/hbm/textures/blocks/test_missile.png b/assets/hbm/textures/blocks/test_missile.png new file mode 100644 index 000000000..51b5e7f31 Binary files /dev/null and b/assets/hbm/textures/blocks/test_missile.png differ diff --git a/assets/hbm/textures/blocks/test_nuke.png b/assets/hbm/textures/blocks/test_nuke.png new file mode 100644 index 000000000..af8e35e49 Binary files /dev/null and b/assets/hbm/textures/blocks/test_nuke.png differ diff --git a/assets/hbm/textures/blocks/test_render.png b/assets/hbm/textures/blocks/test_render.png new file mode 100644 index 000000000..ff19b2c1b Binary files /dev/null and b/assets/hbm/textures/blocks/test_render.png differ diff --git a/assets/hbm/textures/blocks/test_ticker.png b/assets/hbm/textures/blocks/test_ticker.png new file mode 100644 index 000000000..4f3c430f9 Binary files /dev/null and b/assets/hbm/textures/blocks/test_ticker.png differ diff --git a/assets/hbm/textures/blocks/theGadget.png b/assets/hbm/textures/blocks/theGadget.png new file mode 100644 index 000000000..38eef2f4e Binary files /dev/null and b/assets/hbm/textures/blocks/theGadget.png differ diff --git a/assets/hbm/textures/blocks/therm_endo.png b/assets/hbm/textures/blocks/therm_endo.png new file mode 100644 index 000000000..760bad3ae Binary files /dev/null and b/assets/hbm/textures/blocks/therm_endo.png differ diff --git a/assets/hbm/textures/blocks/therm_exo.png b/assets/hbm/textures/blocks/therm_exo.png new file mode 100644 index 000000000..b9648d4e3 Binary files /dev/null and b/assets/hbm/textures/blocks/therm_exo.png differ diff --git a/assets/hbm/textures/blocks/therm_top.png b/assets/hbm/textures/blocks/therm_top.png new file mode 100644 index 000000000..2dcf4cba4 Binary files /dev/null and b/assets/hbm/textures/blocks/therm_top.png differ diff --git a/assets/hbm/textures/blocks/tsarBomba.png b/assets/hbm/textures/blocks/tsarBomba.png new file mode 100644 index 000000000..c37b608e7 Binary files /dev/null and b/assets/hbm/textures/blocks/tsarBomba.png differ diff --git a/assets/hbm/textures/blocks/waste_earth_bottom.png b/assets/hbm/textures/blocks/waste_earth_bottom.png new file mode 100644 index 000000000..36022db1e Binary files /dev/null and b/assets/hbm/textures/blocks/waste_earth_bottom.png differ diff --git a/assets/hbm/textures/blocks/waste_earth_side.png b/assets/hbm/textures/blocks/waste_earth_side.png new file mode 100644 index 000000000..eabad09e5 Binary files /dev/null and b/assets/hbm/textures/blocks/waste_earth_side.png differ diff --git a/assets/hbm/textures/blocks/waste_earth_top.png b/assets/hbm/textures/blocks/waste_earth_top.png new file mode 100644 index 000000000..625f45be7 Binary files /dev/null and b/assets/hbm/textures/blocks/waste_earth_top.png differ diff --git a/assets/hbm/textures/blocks/waste_log_side.png b/assets/hbm/textures/blocks/waste_log_side.png new file mode 100644 index 000000000..517c9dc2b Binary files /dev/null and b/assets/hbm/textures/blocks/waste_log_side.png differ diff --git a/assets/hbm/textures/blocks/waste_log_top.png b/assets/hbm/textures/blocks/waste_log_top.png new file mode 100644 index 000000000..7fa742c90 Binary files /dev/null and b/assets/hbm/textures/blocks/waste_log_top.png differ diff --git a/assets/hbm/textures/blocks/waste_planks.png b/assets/hbm/textures/blocks/waste_planks.png new file mode 100644 index 000000000..60f763573 Binary files /dev/null and b/assets/hbm/textures/blocks/waste_planks.png differ diff --git a/assets/hbm/textures/blocks/waste_trinitite.png b/assets/hbm/textures/blocks/waste_trinitite.png new file mode 100644 index 000000000..f598573f4 Binary files /dev/null and b/assets/hbm/textures/blocks/waste_trinitite.png differ diff --git a/assets/hbm/textures/blocks/waste_trinitite_red.png b/assets/hbm/textures/blocks/waste_trinitite_red.png new file mode 100644 index 000000000..dd146a8b3 Binary files /dev/null and b/assets/hbm/textures/blocks/waste_trinitite_red.png differ diff --git a/assets/hbm/textures/blocks/yellow_barrel.png b/assets/hbm/textures/blocks/yellow_barrel.png new file mode 100644 index 000000000..5094cc9d7 Binary files /dev/null and b/assets/hbm/textures/blocks/yellow_barrel.png differ diff --git a/assets/hbm/textures/entity/creeper.png b/assets/hbm/textures/entity/creeper.png new file mode 100644 index 000000000..1ee325094 Binary files /dev/null and b/assets/hbm/textures/entity/creeper.png differ diff --git a/assets/hbm/textures/entity/creeper_armor.png b/assets/hbm/textures/entity/creeper_armor.png new file mode 100644 index 000000000..b37ff7000 Binary files /dev/null and b/assets/hbm/textures/entity/creeper_armor.png differ diff --git a/assets/hbm/textures/gui/AntiMatterParticleCollider.png b/assets/hbm/textures/gui/AntiMatterParticleCollider.png new file mode 100644 index 000000000..436b7e805 Binary files /dev/null and b/assets/hbm/textures/gui/AntiMatterParticleCollider.png differ diff --git a/assets/hbm/textures/gui/GUICoal.png b/assets/hbm/textures/gui/GUICoal.png new file mode 100644 index 000000000..be80334cf Binary files /dev/null and b/assets/hbm/textures/gui/GUICoal.png differ diff --git a/assets/hbm/textures/gui/GUIDiFurnace.png b/assets/hbm/textures/gui/GUIDiFurnace.png new file mode 100644 index 000000000..383ebef9e Binary files /dev/null and b/assets/hbm/textures/gui/GUIDiFurnace.png differ diff --git a/assets/hbm/textures/gui/GUIElectricFurnace.png b/assets/hbm/textures/gui/GUIElectricFurnace.png new file mode 100644 index 000000000..6df29d59d Binary files /dev/null and b/assets/hbm/textures/gui/GUIElectricFurnace.png differ diff --git a/assets/hbm/textures/gui/GUIReactor.png b/assets/hbm/textures/gui/GUIReactor.png new file mode 100644 index 000000000..6417a6380 Binary files /dev/null and b/assets/hbm/textures/gui/GUIReactor.png differ diff --git a/assets/hbm/textures/gui/ItemStorage.png b/assets/hbm/textures/gui/ItemStorage.png new file mode 100644 index 000000000..a35c94459 Binary files /dev/null and b/assets/hbm/textures/gui/ItemStorage.png differ diff --git a/assets/hbm/textures/gui/RTGfurnace.png b/assets/hbm/textures/gui/RTGfurnace.png new file mode 100644 index 000000000..b873e9ea2 Binary files /dev/null and b/assets/hbm/textures/gui/RTGfurnace.png differ diff --git a/assets/hbm/textures/gui/UraniumEnrichment.png b/assets/hbm/textures/gui/UraniumEnrichment.png new file mode 100644 index 000000000..8e9e917a8 Binary files /dev/null and b/assets/hbm/textures/gui/UraniumEnrichment.png differ diff --git a/assets/hbm/textures/gui/bombGeneric.png b/assets/hbm/textures/gui/bombGeneric.png new file mode 100644 index 000000000..af0f48e3e Binary files /dev/null and b/assets/hbm/textures/gui/bombGeneric.png differ diff --git a/assets/hbm/textures/gui/bombGenericLarge.png b/assets/hbm/textures/gui/bombGenericLarge.png new file mode 100644 index 000000000..72f292efd Binary files /dev/null and b/assets/hbm/textures/gui/bombGenericLarge.png differ diff --git a/assets/hbm/textures/gui/centrifuge.png b/assets/hbm/textures/gui/centrifuge.png new file mode 100644 index 000000000..98170a12d Binary files /dev/null and b/assets/hbm/textures/gui/centrifuge.png differ diff --git a/assets/hbm/textures/gui/fatManSchematic.png b/assets/hbm/textures/gui/fatManSchematic.png new file mode 100644 index 000000000..bb58b1fcc Binary files /dev/null and b/assets/hbm/textures/gui/fatManSchematic.png differ diff --git a/assets/hbm/textures/gui/fleijaSchematic.png b/assets/hbm/textures/gui/fleijaSchematic.png new file mode 100644 index 000000000..39f88f564 Binary files /dev/null and b/assets/hbm/textures/gui/fleijaSchematic.png differ diff --git a/assets/hbm/textures/gui/furnace.png b/assets/hbm/textures/gui/furnace.png new file mode 100644 index 000000000..2255d0abd Binary files /dev/null and b/assets/hbm/textures/gui/furnace.png differ diff --git a/assets/hbm/textures/gui/gadgetSchematic.png b/assets/hbm/textures/gui/gadgetSchematic.png new file mode 100644 index 000000000..59f37b0ce Binary files /dev/null and b/assets/hbm/textures/gui/gadgetSchematic.png differ diff --git a/assets/hbm/textures/gui/generic_54.png b/assets/hbm/textures/gui/generic_54.png new file mode 100644 index 000000000..0b880ef98 Binary files /dev/null and b/assets/hbm/textures/gui/generic_54.png differ diff --git a/assets/hbm/textures/gui/gui_battery.png b/assets/hbm/textures/gui/gui_battery.png new file mode 100644 index 000000000..570f7ea13 Binary files /dev/null and b/assets/hbm/textures/gui/gui_battery.png differ diff --git a/assets/hbm/textures/gui/gui_deuterium.png b/assets/hbm/textures/gui/gui_deuterium.png new file mode 100644 index 000000000..cc8e748fe Binary files /dev/null and b/assets/hbm/textures/gui/gui_deuterium.png differ diff --git a/assets/hbm/textures/gui/gui_fusion.png b/assets/hbm/textures/gui/gui_fusion.png new file mode 100644 index 000000000..d8058d448 Binary files /dev/null and b/assets/hbm/textures/gui/gui_fusion.png differ diff --git a/assets/hbm/textures/gui/gui_generator.png b/assets/hbm/textures/gui/gui_generator.png new file mode 100644 index 000000000..d273669f5 Binary files /dev/null and b/assets/hbm/textures/gui/gui_generator.png differ diff --git a/assets/hbm/textures/gui/gui_launch_pad.png b/assets/hbm/textures/gui/gui_launch_pad.png new file mode 100644 index 000000000..3d820110e Binary files /dev/null and b/assets/hbm/textures/gui/gui_launch_pad.png differ diff --git a/assets/hbm/textures/gui/gui_prototype.png b/assets/hbm/textures/gui/gui_prototype.png new file mode 100644 index 000000000..cf1c18e30 Binary files /dev/null and b/assets/hbm/textures/gui/gui_prototype.png differ diff --git a/assets/hbm/textures/gui/gunBombSchematic.png b/assets/hbm/textures/gui/gunBombSchematic.png new file mode 100644 index 000000000..77550e9ca Binary files /dev/null and b/assets/hbm/textures/gui/gunBombSchematic.png differ diff --git a/assets/hbm/textures/gui/gunBombSchematicSmall.png b/assets/hbm/textures/gui/gunBombSchematicSmall.png new file mode 100644 index 000000000..454a4d2d4 Binary files /dev/null and b/assets/hbm/textures/gui/gunBombSchematicSmall.png differ diff --git a/assets/hbm/textures/gui/ivyMikeSchematic.png b/assets/hbm/textures/gui/ivyMikeSchematic.png new file mode 100644 index 000000000..7435a2b7e Binary files /dev/null and b/assets/hbm/textures/gui/ivyMikeSchematic.png differ diff --git a/assets/hbm/textures/gui/lava_still.png b/assets/hbm/textures/gui/lava_still.png new file mode 100644 index 000000000..78bb29d5c Binary files /dev/null and b/assets/hbm/textures/gui/lava_still.png differ diff --git a/assets/hbm/textures/gui/lilBoySchematic.png b/assets/hbm/textures/gui/lilBoySchematic.png new file mode 100644 index 000000000..fd59b9012 Binary files /dev/null and b/assets/hbm/textures/gui/lilBoySchematic.png differ diff --git a/assets/hbm/textures/gui/puf6Tank.png b/assets/hbm/textures/gui/puf6Tank.png new file mode 100644 index 000000000..07da76dac Binary files /dev/null and b/assets/hbm/textures/gui/puf6Tank.png differ diff --git a/assets/hbm/textures/gui/tsarBombaSchematic.png b/assets/hbm/textures/gui/tsarBombaSchematic.png new file mode 100644 index 000000000..3e3a3ca7d Binary files /dev/null and b/assets/hbm/textures/gui/tsarBombaSchematic.png differ diff --git a/assets/hbm/textures/gui/uf6Tank.png b/assets/hbm/textures/gui/uf6Tank.png new file mode 100644 index 000000000..66371c4b3 Binary files /dev/null and b/assets/hbm/textures/gui/uf6Tank.png differ diff --git a/assets/hbm/textures/items/UCChip.png b/assets/hbm/textures/items/UCChip.png new file mode 100644 index 000000000..d168ba07b Binary files /dev/null and b/assets/hbm/textures/items/UCChip.png differ diff --git a/assets/hbm/textures/items/apple_euphemium.png b/assets/hbm/textures/items/apple_euphemium.png new file mode 100644 index 000000000..df57848fa Binary files /dev/null and b/assets/hbm/textures/items/apple_euphemium.png differ diff --git a/assets/hbm/textures/items/apple_schrabidium.png b/assets/hbm/textures/items/apple_schrabidium.png new file mode 100644 index 000000000..1b5407551 Binary files /dev/null and b/assets/hbm/textures/items/apple_schrabidium.png differ diff --git a/assets/hbm/textures/items/battery_advanced.png b/assets/hbm/textures/items/battery_advanced.png new file mode 100644 index 000000000..fe5cd807a Binary files /dev/null and b/assets/hbm/textures/items/battery_advanced.png differ diff --git a/assets/hbm/textures/items/battery_advanced_alt.png b/assets/hbm/textures/items/battery_advanced_alt.png new file mode 100644 index 000000000..2ee9b9830 Binary files /dev/null and b/assets/hbm/textures/items/battery_advanced_alt.png differ diff --git a/assets/hbm/textures/items/battery_creative.png b/assets/hbm/textures/items/battery_creative.png new file mode 100644 index 000000000..2122c138e Binary files /dev/null and b/assets/hbm/textures/items/battery_creative.png differ diff --git a/assets/hbm/textures/items/battery_creative_alt.png b/assets/hbm/textures/items/battery_creative_alt.png new file mode 100644 index 000000000..457220089 Binary files /dev/null and b/assets/hbm/textures/items/battery_creative_alt.png differ diff --git a/assets/hbm/textures/items/battery_generic.png b/assets/hbm/textures/items/battery_generic.png new file mode 100644 index 000000000..d7905ab9e Binary files /dev/null and b/assets/hbm/textures/items/battery_generic.png differ diff --git a/assets/hbm/textures/items/battery_generic_alt.png b/assets/hbm/textures/items/battery_generic_alt.png new file mode 100644 index 000000000..6b5fff415 Binary files /dev/null and b/assets/hbm/textures/items/battery_generic_alt.png differ diff --git a/assets/hbm/textures/items/battery_schrabidium.png b/assets/hbm/textures/items/battery_schrabidium.png new file mode 100644 index 000000000..0b28713b7 Binary files /dev/null and b/assets/hbm/textures/items/battery_schrabidium.png differ diff --git a/assets/hbm/textures/items/battery_schrabidium_alt.png b/assets/hbm/textures/items/battery_schrabidium_alt.png new file mode 100644 index 000000000..40182fe36 Binary files /dev/null and b/assets/hbm/textures/items/battery_schrabidium_alt.png differ diff --git a/assets/hbm/textures/items/big_sword.png b/assets/hbm/textures/items/big_sword.png new file mode 100644 index 000000000..fb9699a2d Binary files /dev/null and b/assets/hbm/textures/items/big_sword.png differ diff --git a/assets/hbm/textures/items/bomb_waffle.png b/assets/hbm/textures/items/bomb_waffle.png new file mode 100644 index 000000000..1fe46adef Binary files /dev/null and b/assets/hbm/textures/items/bomb_waffle.png differ diff --git a/assets/hbm/textures/items/boy_bullet.png b/assets/hbm/textures/items/boy_bullet.png new file mode 100644 index 000000000..0c59307f6 Binary files /dev/null and b/assets/hbm/textures/items/boy_bullet.png differ diff --git a/assets/hbm/textures/items/boy_igniter.png b/assets/hbm/textures/items/boy_igniter.png new file mode 100644 index 000000000..1f51b3206 Binary files /dev/null and b/assets/hbm/textures/items/boy_igniter.png differ diff --git a/assets/hbm/textures/items/boy_kit.png b/assets/hbm/textures/items/boy_kit.png new file mode 100644 index 000000000..c243c769b Binary files /dev/null and b/assets/hbm/textures/items/boy_kit.png differ diff --git a/assets/hbm/textures/items/boy_propellant.png b/assets/hbm/textures/items/boy_propellant.png new file mode 100644 index 000000000..c6cb1dfc4 Binary files /dev/null and b/assets/hbm/textures/items/boy_propellant.png differ diff --git a/assets/hbm/textures/items/boy_shielding.png b/assets/hbm/textures/items/boy_shielding.png new file mode 100644 index 000000000..6ba20ce0d Binary files /dev/null and b/assets/hbm/textures/items/boy_shielding.png differ diff --git a/assets/hbm/textures/items/boy_target.png b/assets/hbm/textures/items/boy_target.png new file mode 100644 index 000000000..e7b27c76c Binary files /dev/null and b/assets/hbm/textures/items/boy_target.png differ diff --git a/assets/hbm/textures/items/cap_aluminium.png b/assets/hbm/textures/items/cap_aluminium.png new file mode 100644 index 000000000..7fe1df89e Binary files /dev/null and b/assets/hbm/textures/items/cap_aluminium.png differ diff --git a/assets/hbm/textures/items/cell_antimatter.png b/assets/hbm/textures/items/cell_antimatter.png new file mode 100644 index 000000000..5f8476e21 Binary files /dev/null and b/assets/hbm/textures/items/cell_antimatter.png differ diff --git a/assets/hbm/textures/items/cell_deuterium.png b/assets/hbm/textures/items/cell_deuterium.png new file mode 100644 index 000000000..72e78b05d Binary files /dev/null and b/assets/hbm/textures/items/cell_deuterium.png differ diff --git a/assets/hbm/textures/items/cell_empty.png b/assets/hbm/textures/items/cell_empty.png new file mode 100644 index 000000000..a6cca14fd Binary files /dev/null and b/assets/hbm/textures/items/cell_empty.png differ diff --git a/assets/hbm/textures/items/cell_puf6.png b/assets/hbm/textures/items/cell_puf6.png new file mode 100644 index 000000000..6a94824f8 Binary files /dev/null and b/assets/hbm/textures/items/cell_puf6.png differ diff --git a/assets/hbm/textures/items/cell_sas3.png b/assets/hbm/textures/items/cell_sas3.png new file mode 100644 index 000000000..7fdf58c01 Binary files /dev/null and b/assets/hbm/textures/items/cell_sas3.png differ diff --git a/assets/hbm/textures/items/cell_uf6.png b/assets/hbm/textures/items/cell_uf6.png new file mode 100644 index 000000000..cab4d3d20 Binary files /dev/null and b/assets/hbm/textures/items/cell_uf6.png differ diff --git a/assets/hbm/textures/items/centrifuge_element.png b/assets/hbm/textures/items/centrifuge_element.png new file mode 100644 index 000000000..4e0460a14 Binary files /dev/null and b/assets/hbm/textures/items/centrifuge_element.png differ diff --git a/assets/hbm/textures/items/centrifuge_tower.png b/assets/hbm/textures/items/centrifuge_tower.png new file mode 100644 index 000000000..0b4e95a3e Binary files /dev/null and b/assets/hbm/textures/items/centrifuge_tower.png differ diff --git a/assets/hbm/textures/items/circuit_aluminium.png b/assets/hbm/textures/items/circuit_aluminium.png new file mode 100644 index 000000000..cf34db6b7 Binary files /dev/null and b/assets/hbm/textures/items/circuit_aluminium.png differ diff --git a/assets/hbm/textures/items/circuit_copper.png b/assets/hbm/textures/items/circuit_copper.png new file mode 100644 index 000000000..9a92c0289 Binary files /dev/null and b/assets/hbm/textures/items/circuit_copper.png differ diff --git a/assets/hbm/textures/items/circuit_gold.png b/assets/hbm/textures/items/circuit_gold.png new file mode 100644 index 000000000..113bb0a15 Binary files /dev/null and b/assets/hbm/textures/items/circuit_gold.png differ diff --git a/assets/hbm/textures/items/circuit_red_copper.png b/assets/hbm/textures/items/circuit_red_copper.png new file mode 100644 index 000000000..1135886d2 Binary files /dev/null and b/assets/hbm/textures/items/circuit_red_copper.png differ diff --git a/assets/hbm/textures/items/circuit_schrabidium.png b/assets/hbm/textures/items/circuit_schrabidium.png new file mode 100644 index 000000000..f3cae51ae Binary files /dev/null and b/assets/hbm/textures/items/circuit_schrabidium.png differ diff --git a/assets/hbm/textures/items/coil_copper.png b/assets/hbm/textures/items/coil_copper.png new file mode 100644 index 000000000..a31ac7dc5 Binary files /dev/null and b/assets/hbm/textures/items/coil_copper.png differ diff --git a/assets/hbm/textures/items/coil_copper_torus.png b/assets/hbm/textures/items/coil_copper_torus.png new file mode 100644 index 000000000..20da80f12 Binary files /dev/null and b/assets/hbm/textures/items/coil_copper_torus.png differ diff --git a/assets/hbm/textures/items/coil_tungsten.png b/assets/hbm/textures/items/coil_tungsten.png new file mode 100644 index 000000000..5a17b2832 Binary files /dev/null and b/assets/hbm/textures/items/coil_tungsten.png differ diff --git a/assets/hbm/textures/items/cotton_candy.png b/assets/hbm/textures/items/cotton_candy.png new file mode 100644 index 000000000..0c6bc7c53 Binary files /dev/null and b/assets/hbm/textures/items/cotton_candy.png differ diff --git a/assets/hbm/textures/items/designator.png b/assets/hbm/textures/items/designator.png new file mode 100644 index 000000000..0e752e9d4 Binary files /dev/null and b/assets/hbm/textures/items/designator.png differ diff --git a/assets/hbm/textures/items/dysfunctional_reactor.png b/assets/hbm/textures/items/dysfunctional_reactor.png new file mode 100644 index 000000000..117039db7 Binary files /dev/null and b/assets/hbm/textures/items/dysfunctional_reactor.png differ diff --git a/assets/hbm/textures/items/euphemium_boots.png b/assets/hbm/textures/items/euphemium_boots.png new file mode 100644 index 000000000..63cd22fe5 Binary files /dev/null and b/assets/hbm/textures/items/euphemium_boots.png differ diff --git a/assets/hbm/textures/items/euphemium_helmet.png b/assets/hbm/textures/items/euphemium_helmet.png new file mode 100644 index 000000000..436bb0f45 Binary files /dev/null and b/assets/hbm/textures/items/euphemium_helmet.png differ diff --git a/assets/hbm/textures/items/euphemium_legs.png b/assets/hbm/textures/items/euphemium_legs.png new file mode 100644 index 000000000..889cacde3 Binary files /dev/null and b/assets/hbm/textures/items/euphemium_legs.png differ diff --git a/assets/hbm/textures/items/euphemium_plate.png b/assets/hbm/textures/items/euphemium_plate.png new file mode 100644 index 000000000..707979b2d Binary files /dev/null and b/assets/hbm/textures/items/euphemium_plate.png differ diff --git a/assets/hbm/textures/items/fins_big_steel.png b/assets/hbm/textures/items/fins_big_steel.png new file mode 100644 index 000000000..e96ac8f83 Binary files /dev/null and b/assets/hbm/textures/items/fins_big_steel.png differ diff --git a/assets/hbm/textures/items/fins_flat.png b/assets/hbm/textures/items/fins_flat.png new file mode 100644 index 000000000..2a6c9b184 Binary files /dev/null and b/assets/hbm/textures/items/fins_flat.png differ diff --git a/assets/hbm/textures/items/fins_quad_titanium.png b/assets/hbm/textures/items/fins_quad_titanium.png new file mode 100644 index 000000000..2539e7f9c Binary files /dev/null and b/assets/hbm/textures/items/fins_quad_titanium.png differ diff --git a/assets/hbm/textures/items/fins_small_steel.png b/assets/hbm/textures/items/fins_small_steel.png new file mode 100644 index 000000000..79b6419aa Binary files /dev/null and b/assets/hbm/textures/items/fins_small_steel.png differ diff --git a/assets/hbm/textures/items/fins_tri_steel.png b/assets/hbm/textures/items/fins_tri_steel.png new file mode 100644 index 000000000..e48bae2df Binary files /dev/null and b/assets/hbm/textures/items/fins_tri_steel.png differ diff --git a/assets/hbm/textures/items/flame_conspiracy.png b/assets/hbm/textures/items/flame_conspiracy.png new file mode 100644 index 000000000..57895e8df Binary files /dev/null and b/assets/hbm/textures/items/flame_conspiracy.png differ diff --git a/assets/hbm/textures/items/flame_opinion.png b/assets/hbm/textures/items/flame_opinion.png new file mode 100644 index 000000000..fb743b3c4 Binary files /dev/null and b/assets/hbm/textures/items/flame_opinion.png differ diff --git a/assets/hbm/textures/items/flame_politics.png b/assets/hbm/textures/items/flame_politics.png new file mode 100644 index 000000000..4f07dc443 Binary files /dev/null and b/assets/hbm/textures/items/flame_politics.png differ diff --git a/assets/hbm/textures/items/flame_pony.png b/assets/hbm/textures/items/flame_pony.png new file mode 100644 index 000000000..956ee2b83 Binary files /dev/null and b/assets/hbm/textures/items/flame_pony.png differ diff --git a/assets/hbm/textures/items/fleija_core.png b/assets/hbm/textures/items/fleija_core.png new file mode 100644 index 000000000..ba90f3f0b Binary files /dev/null and b/assets/hbm/textures/items/fleija_core.png differ diff --git a/assets/hbm/textures/items/fleija_igniter.png b/assets/hbm/textures/items/fleija_igniter.png new file mode 100644 index 000000000..2ba7e3b43 Binary files /dev/null and b/assets/hbm/textures/items/fleija_igniter.png differ diff --git a/assets/hbm/textures/items/fleija_kit.png b/assets/hbm/textures/items/fleija_kit.png new file mode 100644 index 000000000..61f382810 Binary files /dev/null and b/assets/hbm/textures/items/fleija_kit.png differ diff --git a/assets/hbm/textures/items/fleija_propellant.png b/assets/hbm/textures/items/fleija_propellant.png new file mode 100644 index 000000000..d8afeb77d Binary files /dev/null and b/assets/hbm/textures/items/fleija_propellant.png differ diff --git a/assets/hbm/textures/items/fluorite.png b/assets/hbm/textures/items/fluorite.png new file mode 100644 index 000000000..c1464e5b6 Binary files /dev/null and b/assets/hbm/textures/items/fluorite.png differ diff --git a/assets/hbm/textures/items/fuel_tank_large.png b/assets/hbm/textures/items/fuel_tank_large.png new file mode 100644 index 000000000..e2d074b15 Binary files /dev/null and b/assets/hbm/textures/items/fuel_tank_large.png differ diff --git a/assets/hbm/textures/items/fuel_tank_medium.png b/assets/hbm/textures/items/fuel_tank_medium.png new file mode 100644 index 000000000..95cc181e4 Binary files /dev/null and b/assets/hbm/textures/items/fuel_tank_medium.png differ diff --git a/assets/hbm/textures/items/fuel_tank_small.png b/assets/hbm/textures/items/fuel_tank_small.png new file mode 100644 index 000000000..4a6110cfb Binary files /dev/null and b/assets/hbm/textures/items/fuel_tank_small.png differ diff --git a/assets/hbm/textures/items/fusion_core.png b/assets/hbm/textures/items/fusion_core.png new file mode 100644 index 000000000..ec653655e Binary files /dev/null and b/assets/hbm/textures/items/fusion_core.png differ diff --git a/assets/hbm/textures/items/gadget_core.png b/assets/hbm/textures/items/gadget_core.png new file mode 100644 index 000000000..2b5cc2c87 Binary files /dev/null and b/assets/hbm/textures/items/gadget_core.png differ diff --git a/assets/hbm/textures/items/gadget_explosive.png b/assets/hbm/textures/items/gadget_explosive.png new file mode 100644 index 000000000..90e56db3c Binary files /dev/null and b/assets/hbm/textures/items/gadget_explosive.png differ diff --git a/assets/hbm/textures/items/gadget_explosive8.png b/assets/hbm/textures/items/gadget_explosive8.png new file mode 100644 index 000000000..2634f5860 Binary files /dev/null and b/assets/hbm/textures/items/gadget_explosive8.png differ diff --git a/assets/hbm/textures/items/gadget_kit.png b/assets/hbm/textures/items/gadget_kit.png new file mode 100644 index 000000000..c8b2297d9 Binary files /dev/null and b/assets/hbm/textures/items/gadget_kit.png differ diff --git a/assets/hbm/textures/items/gadget_wireing.png b/assets/hbm/textures/items/gadget_wireing.png new file mode 100644 index 000000000..e0702c51f Binary files /dev/null and b/assets/hbm/textures/items/gadget_wireing.png differ diff --git a/assets/hbm/textures/items/gas_mask.png b/assets/hbm/textures/items/gas_mask.png new file mode 100644 index 000000000..1d53e003d Binary files /dev/null and b/assets/hbm/textures/items/gas_mask.png differ diff --git a/assets/hbm/textures/items/goggles.png b/assets/hbm/textures/items/goggles.png new file mode 100644 index 000000000..a85e94d5c Binary files /dev/null and b/assets/hbm/textures/items/goggles.png differ diff --git a/assets/hbm/textures/items/gold_nugget.png b/assets/hbm/textures/items/gold_nugget.png new file mode 100644 index 000000000..3a9a2fe4f Binary files /dev/null and b/assets/hbm/textures/items/gold_nugget.png differ diff --git a/assets/hbm/textures/items/grenade_cluster.png b/assets/hbm/textures/items/grenade_cluster.png new file mode 100644 index 000000000..259e28fda Binary files /dev/null and b/assets/hbm/textures/items/grenade_cluster.png differ diff --git a/assets/hbm/textures/items/grenade_electric.png b/assets/hbm/textures/items/grenade_electric.png new file mode 100644 index 000000000..0b647ef95 Binary files /dev/null and b/assets/hbm/textures/items/grenade_electric.png differ diff --git a/assets/hbm/textures/items/grenade_fire.png b/assets/hbm/textures/items/grenade_fire.png new file mode 100644 index 000000000..8509aecee Binary files /dev/null and b/assets/hbm/textures/items/grenade_fire.png differ diff --git a/assets/hbm/textures/items/grenade_flare.png b/assets/hbm/textures/items/grenade_flare.png new file mode 100644 index 000000000..5387acc1d Binary files /dev/null and b/assets/hbm/textures/items/grenade_flare.png differ diff --git a/assets/hbm/textures/items/grenade_frag.png b/assets/hbm/textures/items/grenade_frag.png new file mode 100644 index 000000000..01aa37d30 Binary files /dev/null and b/assets/hbm/textures/items/grenade_frag.png differ diff --git a/assets/hbm/textures/items/grenade_gas.png b/assets/hbm/textures/items/grenade_gas.png new file mode 100644 index 000000000..87c680e7b Binary files /dev/null and b/assets/hbm/textures/items/grenade_gas.png differ diff --git a/assets/hbm/textures/items/grenade_generic.png b/assets/hbm/textures/items/grenade_generic.png new file mode 100644 index 000000000..e5147fa30 Binary files /dev/null and b/assets/hbm/textures/items/grenade_generic.png differ diff --git a/assets/hbm/textures/items/grenade_kit.png b/assets/hbm/textures/items/grenade_kit.png new file mode 100644 index 000000000..49a802315 Binary files /dev/null and b/assets/hbm/textures/items/grenade_kit.png differ diff --git a/assets/hbm/textures/items/grenade_nuke.png b/assets/hbm/textures/items/grenade_nuke.png new file mode 100644 index 000000000..658fb3ab9 Binary files /dev/null and b/assets/hbm/textures/items/grenade_nuke.png differ diff --git a/assets/hbm/textures/items/grenade_poison.png b/assets/hbm/textures/items/grenade_poison.png new file mode 100644 index 000000000..8fa0c4a8a Binary files /dev/null and b/assets/hbm/textures/items/grenade_poison.png differ diff --git a/assets/hbm/textures/items/grenade_schrabidium.png b/assets/hbm/textures/items/grenade_schrabidium.png new file mode 100644 index 000000000..246e6b9f1 Binary files /dev/null and b/assets/hbm/textures/items/grenade_schrabidium.png differ diff --git a/assets/hbm/textures/items/grenade_strong.png b/assets/hbm/textures/items/grenade_strong.png new file mode 100644 index 000000000..dc7928bf5 Binary files /dev/null and b/assets/hbm/textures/items/grenade_strong.png differ diff --git a/assets/hbm/textures/items/gun_revolver.png b/assets/hbm/textures/items/gun_revolver.png new file mode 100644 index 000000000..f7d550751 Binary files /dev/null and b/assets/hbm/textures/items/gun_revolver.png differ diff --git a/assets/hbm/textures/items/gun_revolver_ammo.png b/assets/hbm/textures/items/gun_revolver_ammo.png new file mode 100644 index 000000000..37d74f02c Binary files /dev/null and b/assets/hbm/textures/items/gun_revolver_ammo.png differ diff --git a/assets/hbm/textures/items/gun_revolver_cursed.png b/assets/hbm/textures/items/gun_revolver_cursed.png new file mode 100644 index 000000000..f6012329b Binary files /dev/null and b/assets/hbm/textures/items/gun_revolver_cursed.png differ diff --git a/assets/hbm/textures/items/gun_revolver_cursed_ammo.png b/assets/hbm/textures/items/gun_revolver_cursed_ammo.png new file mode 100644 index 000000000..318a70da4 Binary files /dev/null and b/assets/hbm/textures/items/gun_revolver_cursed_ammo.png differ diff --git a/assets/hbm/textures/items/gun_revolver_gold.png b/assets/hbm/textures/items/gun_revolver_gold.png new file mode 100644 index 000000000..0e6008a26 Binary files /dev/null and b/assets/hbm/textures/items/gun_revolver_gold.png differ diff --git a/assets/hbm/textures/items/gun_revolver_gold_ammo.png b/assets/hbm/textures/items/gun_revolver_gold_ammo.png new file mode 100644 index 000000000..0f28b6663 Binary files /dev/null and b/assets/hbm/textures/items/gun_revolver_gold_ammo.png differ diff --git a/assets/hbm/textures/items/gun_revolver_iron.png b/assets/hbm/textures/items/gun_revolver_iron.png new file mode 100644 index 000000000..82974cc4c Binary files /dev/null and b/assets/hbm/textures/items/gun_revolver_iron.png differ diff --git a/assets/hbm/textures/items/gun_revolver_iron_ammo.png b/assets/hbm/textures/items/gun_revolver_iron_ammo.png new file mode 100644 index 000000000..e7d4c2137 Binary files /dev/null and b/assets/hbm/textures/items/gun_revolver_iron_ammo.png differ diff --git a/assets/hbm/textures/items/gun_revolver_schrabidium.png b/assets/hbm/textures/items/gun_revolver_schrabidium.png new file mode 100644 index 000000000..a1e4a87ed Binary files /dev/null and b/assets/hbm/textures/items/gun_revolver_schrabidium.png differ diff --git a/assets/hbm/textures/items/gun_revolver_schrabidium_ammo.png b/assets/hbm/textures/items/gun_revolver_schrabidium_ammo.png new file mode 100644 index 000000000..cb5cc71f3 Binary files /dev/null and b/assets/hbm/textures/items/gun_revolver_schrabidium_ammo.png differ diff --git a/assets/hbm/textures/items/gun_rpg.png b/assets/hbm/textures/items/gun_rpg.png new file mode 100644 index 000000000..0238831e2 Binary files /dev/null and b/assets/hbm/textures/items/gun_rpg.png differ diff --git a/assets/hbm/textures/items/gun_rpg_ammo.png b/assets/hbm/textures/items/gun_rpg_ammo.png new file mode 100644 index 000000000..1316d10a4 Binary files /dev/null and b/assets/hbm/textures/items/gun_rpg_ammo.png differ diff --git a/assets/hbm/textures/items/hazmat_boots.png b/assets/hbm/textures/items/hazmat_boots.png new file mode 100644 index 000000000..3b39b505d Binary files /dev/null and b/assets/hbm/textures/items/hazmat_boots.png differ diff --git a/assets/hbm/textures/items/hazmat_helmet.png b/assets/hbm/textures/items/hazmat_helmet.png new file mode 100644 index 000000000..807fecc24 Binary files /dev/null and b/assets/hbm/textures/items/hazmat_helmet.png differ diff --git a/assets/hbm/textures/items/hazmat_legs.png b/assets/hbm/textures/items/hazmat_legs.png new file mode 100644 index 000000000..53ccbe8e1 Binary files /dev/null and b/assets/hbm/textures/items/hazmat_legs.png differ diff --git a/assets/hbm/textures/items/hazmat_plate.png b/assets/hbm/textures/items/hazmat_plate.png new file mode 100644 index 000000000..88edf5103 Binary files /dev/null and b/assets/hbm/textures/items/hazmat_plate.png differ diff --git a/assets/hbm/textures/items/hull_big_aluminium.png b/assets/hbm/textures/items/hull_big_aluminium.png new file mode 100644 index 000000000..aaef2b037 Binary files /dev/null and b/assets/hbm/textures/items/hull_big_aluminium.png differ diff --git a/assets/hbm/textures/items/hull_big_steel.png b/assets/hbm/textures/items/hull_big_steel.png new file mode 100644 index 000000000..537029e70 Binary files /dev/null and b/assets/hbm/textures/items/hull_big_steel.png differ diff --git a/assets/hbm/textures/items/hull_big_titanium.png b/assets/hbm/textures/items/hull_big_titanium.png new file mode 100644 index 000000000..d6a37cee8 Binary files /dev/null and b/assets/hbm/textures/items/hull_big_titanium.png differ diff --git a/assets/hbm/textures/items/hull_small_aluminium.png b/assets/hbm/textures/items/hull_small_aluminium.png new file mode 100644 index 000000000..07a2e6d4a Binary files /dev/null and b/assets/hbm/textures/items/hull_small_aluminium.png differ diff --git a/assets/hbm/textures/items/hull_small_steel.png b/assets/hbm/textures/items/hull_small_steel.png new file mode 100644 index 000000000..d030296f1 Binary files /dev/null and b/assets/hbm/textures/items/hull_small_steel.png differ diff --git a/assets/hbm/textures/items/ingot_aluminium.png b/assets/hbm/textures/items/ingot_aluminium.png new file mode 100644 index 000000000..dd91b8c3c Binary files /dev/null and b/assets/hbm/textures/items/ingot_aluminium.png differ diff --git a/assets/hbm/textures/items/ingot_beryllium.png b/assets/hbm/textures/items/ingot_beryllium.png new file mode 100644 index 000000000..3c9c8279a Binary files /dev/null and b/assets/hbm/textures/items/ingot_beryllium.png differ diff --git a/assets/hbm/textures/items/ingot_copper.png b/assets/hbm/textures/items/ingot_copper.png new file mode 100644 index 000000000..aa6573bfc Binary files /dev/null and b/assets/hbm/textures/items/ingot_copper.png differ diff --git a/assets/hbm/textures/items/ingot_euphemium.png b/assets/hbm/textures/items/ingot_euphemium.png new file mode 100644 index 000000000..502a95c5a Binary files /dev/null and b/assets/hbm/textures/items/ingot_euphemium.png differ diff --git a/assets/hbm/textures/items/ingot_lead.png b/assets/hbm/textures/items/ingot_lead.png new file mode 100644 index 000000000..d34c6fa28 Binary files /dev/null and b/assets/hbm/textures/items/ingot_lead.png differ diff --git a/assets/hbm/textures/items/ingot_mox_fuel.png b/assets/hbm/textures/items/ingot_mox_fuel.png new file mode 100644 index 000000000..3408c6e16 Binary files /dev/null and b/assets/hbm/textures/items/ingot_mox_fuel.png differ diff --git a/assets/hbm/textures/items/ingot_neptunium.png b/assets/hbm/textures/items/ingot_neptunium.png new file mode 100644 index 000000000..3949ac11b Binary files /dev/null and b/assets/hbm/textures/items/ingot_neptunium.png differ diff --git a/assets/hbm/textures/items/ingot_plutonium.png b/assets/hbm/textures/items/ingot_plutonium.png new file mode 100644 index 000000000..e450a9df4 Binary files /dev/null and b/assets/hbm/textures/items/ingot_plutonium.png differ diff --git a/assets/hbm/textures/items/ingot_red_copper.png b/assets/hbm/textures/items/ingot_red_copper.png new file mode 100644 index 000000000..1ff8aeb57 Binary files /dev/null and b/assets/hbm/textures/items/ingot_red_copper.png differ diff --git a/assets/hbm/textures/items/ingot_schrabidium.png b/assets/hbm/textures/items/ingot_schrabidium.png new file mode 100644 index 000000000..e0c69b164 Binary files /dev/null and b/assets/hbm/textures/items/ingot_schrabidium.png differ diff --git a/assets/hbm/textures/items/ingot_schrabidium_fuel.png b/assets/hbm/textures/items/ingot_schrabidium_fuel.png new file mode 100644 index 000000000..f61d10760 Binary files /dev/null and b/assets/hbm/textures/items/ingot_schrabidium_fuel.png differ diff --git a/assets/hbm/textures/items/ingot_steel.png b/assets/hbm/textures/items/ingot_steel.png new file mode 100644 index 000000000..62c497927 Binary files /dev/null and b/assets/hbm/textures/items/ingot_steel.png differ diff --git a/assets/hbm/textures/items/ingot_titanium.png b/assets/hbm/textures/items/ingot_titanium.png new file mode 100644 index 000000000..3b0f79421 Binary files /dev/null and b/assets/hbm/textures/items/ingot_titanium.png differ diff --git a/assets/hbm/textures/items/ingot_tungsten.png b/assets/hbm/textures/items/ingot_tungsten.png new file mode 100644 index 000000000..4bc2ca9a0 Binary files /dev/null and b/assets/hbm/textures/items/ingot_tungsten.png differ diff --git a/assets/hbm/textures/items/ingot_uranium.png b/assets/hbm/textures/items/ingot_uranium.png new file mode 100644 index 000000000..36392f48d Binary files /dev/null and b/assets/hbm/textures/items/ingot_uranium.png differ diff --git a/assets/hbm/textures/items/iron_sword.png b/assets/hbm/textures/items/iron_sword.png new file mode 100644 index 000000000..4d49c5aee Binary files /dev/null and b/assets/hbm/textures/items/iron_sword.png differ diff --git a/assets/hbm/textures/items/joel.png b/assets/hbm/textures/items/joel.png new file mode 100644 index 000000000..cdb1db6aa Binary files /dev/null and b/assets/hbm/textures/items/joel.png differ diff --git a/assets/hbm/textures/items/levitation_unit.png b/assets/hbm/textures/items/levitation_unit.png new file mode 100644 index 000000000..9f49458e0 Binary files /dev/null and b/assets/hbm/textures/items/levitation_unit.png differ diff --git a/assets/hbm/textures/items/lithium.png b/assets/hbm/textures/items/lithium.png new file mode 100644 index 000000000..cdc066bba Binary files /dev/null and b/assets/hbm/textures/items/lithium.png differ diff --git a/assets/hbm/textures/items/lithium6.png b/assets/hbm/textures/items/lithium6.png new file mode 100644 index 000000000..0a8355982 Binary files /dev/null and b/assets/hbm/textures/items/lithium6.png differ diff --git a/assets/hbm/textures/items/man_core.png b/assets/hbm/textures/items/man_core.png new file mode 100644 index 000000000..b33396451 Binary files /dev/null and b/assets/hbm/textures/items/man_core.png differ diff --git a/assets/hbm/textures/items/man_explosive.png b/assets/hbm/textures/items/man_explosive.png new file mode 100644 index 000000000..0c1d73ade Binary files /dev/null and b/assets/hbm/textures/items/man_explosive.png differ diff --git a/assets/hbm/textures/items/man_explosive8.png b/assets/hbm/textures/items/man_explosive8.png new file mode 100644 index 000000000..4626fc28e Binary files /dev/null and b/assets/hbm/textures/items/man_explosive8.png differ diff --git a/assets/hbm/textures/items/man_igniter.png b/assets/hbm/textures/items/man_igniter.png new file mode 100644 index 000000000..05802eb17 Binary files /dev/null and b/assets/hbm/textures/items/man_igniter.png differ diff --git a/assets/hbm/textures/items/man_kit.png b/assets/hbm/textures/items/man_kit.png new file mode 100644 index 000000000..124df3708 Binary files /dev/null and b/assets/hbm/textures/items/man_kit.png differ diff --git a/assets/hbm/textures/items/mask_of_infamy.png b/assets/hbm/textures/items/mask_of_infamy.png new file mode 100644 index 000000000..d25448d15 Binary files /dev/null and b/assets/hbm/textures/items/mask_of_infamy.png differ diff --git a/assets/hbm/textures/items/mike_cooling_unit.png b/assets/hbm/textures/items/mike_cooling_unit.png new file mode 100644 index 000000000..78c4d33d5 Binary files /dev/null and b/assets/hbm/textures/items/mike_cooling_unit.png differ diff --git a/assets/hbm/textures/items/mike_core.png b/assets/hbm/textures/items/mike_core.png new file mode 100644 index 000000000..2c7cfff13 Binary files /dev/null and b/assets/hbm/textures/items/mike_core.png differ diff --git a/assets/hbm/textures/items/mike_deut.png b/assets/hbm/textures/items/mike_deut.png new file mode 100644 index 000000000..c2d0e1046 Binary files /dev/null and b/assets/hbm/textures/items/mike_deut.png differ diff --git a/assets/hbm/textures/items/mike_kit.png b/assets/hbm/textures/items/mike_kit.png new file mode 100644 index 000000000..8105439e9 Binary files /dev/null and b/assets/hbm/textures/items/mike_kit.png differ diff --git a/assets/hbm/textures/items/missile_anti_ballistic.png b/assets/hbm/textures/items/missile_anti_ballistic.png new file mode 100644 index 000000000..13f6754f6 Binary files /dev/null and b/assets/hbm/textures/items/missile_anti_ballistic.png differ diff --git a/assets/hbm/textures/items/missile_burst.png b/assets/hbm/textures/items/missile_burst.png new file mode 100644 index 000000000..60a73e1af Binary files /dev/null and b/assets/hbm/textures/items/missile_burst.png differ diff --git a/assets/hbm/textures/items/missile_buster.png b/assets/hbm/textures/items/missile_buster.png new file mode 100644 index 000000000..40afe848b Binary files /dev/null and b/assets/hbm/textures/items/missile_buster.png differ diff --git a/assets/hbm/textures/items/missile_buster_strong.png b/assets/hbm/textures/items/missile_buster_strong.png new file mode 100644 index 000000000..3adb9bbba Binary files /dev/null and b/assets/hbm/textures/items/missile_buster_strong.png differ diff --git a/assets/hbm/textures/items/missile_cluster.png b/assets/hbm/textures/items/missile_cluster.png new file mode 100644 index 000000000..5b11a9d3a Binary files /dev/null and b/assets/hbm/textures/items/missile_cluster.png differ diff --git a/assets/hbm/textures/items/missile_cluster_strong.png b/assets/hbm/textures/items/missile_cluster_strong.png new file mode 100644 index 000000000..bf418e965 Binary files /dev/null and b/assets/hbm/textures/items/missile_cluster_strong.png differ diff --git a/assets/hbm/textures/items/missile_drill.png b/assets/hbm/textures/items/missile_drill.png new file mode 100644 index 000000000..03e3cc15d Binary files /dev/null and b/assets/hbm/textures/items/missile_drill.png differ diff --git a/assets/hbm/textures/items/missile_endo.png b/assets/hbm/textures/items/missile_endo.png new file mode 100644 index 000000000..5121a6301 Binary files /dev/null and b/assets/hbm/textures/items/missile_endo.png differ diff --git a/assets/hbm/textures/items/missile_exo.png b/assets/hbm/textures/items/missile_exo.png new file mode 100644 index 000000000..53de4d509 Binary files /dev/null and b/assets/hbm/textures/items/missile_exo.png differ diff --git a/assets/hbm/textures/items/missile_generic.png b/assets/hbm/textures/items/missile_generic.png new file mode 100644 index 000000000..f06a2fd60 Binary files /dev/null and b/assets/hbm/textures/items/missile_generic.png differ diff --git a/assets/hbm/textures/items/missile_incendiary.png b/assets/hbm/textures/items/missile_incendiary.png new file mode 100644 index 000000000..d468e0133 Binary files /dev/null and b/assets/hbm/textures/items/missile_incendiary.png differ diff --git a/assets/hbm/textures/items/missile_incendiary_strong.png b/assets/hbm/textures/items/missile_incendiary_strong.png new file mode 100644 index 000000000..912cc9716 Binary files /dev/null and b/assets/hbm/textures/items/missile_incendiary_strong.png differ diff --git a/assets/hbm/textures/items/missile_inferno.png b/assets/hbm/textures/items/missile_inferno.png new file mode 100644 index 000000000..94eeae344 Binary files /dev/null and b/assets/hbm/textures/items/missile_inferno.png differ diff --git a/assets/hbm/textures/items/missile_nuclear.png b/assets/hbm/textures/items/missile_nuclear.png new file mode 100644 index 000000000..39d6d0e60 Binary files /dev/null and b/assets/hbm/textures/items/missile_nuclear.png differ diff --git a/assets/hbm/textures/items/missile_nuclear_cluster.png b/assets/hbm/textures/items/missile_nuclear_cluster.png new file mode 100644 index 000000000..4afeb77dc Binary files /dev/null and b/assets/hbm/textures/items/missile_nuclear_cluster.png differ diff --git a/assets/hbm/textures/items/missile_rain.png b/assets/hbm/textures/items/missile_rain.png new file mode 100644 index 000000000..16e454ebe Binary files /dev/null and b/assets/hbm/textures/items/missile_rain.png differ diff --git a/assets/hbm/textures/items/missile_strong.png b/assets/hbm/textures/items/missile_strong.png new file mode 100644 index 000000000..00f8c41ac Binary files /dev/null and b/assets/hbm/textures/items/missile_strong.png differ diff --git a/assets/hbm/textures/items/motor.png b/assets/hbm/textures/items/motor.png new file mode 100644 index 000000000..de87f85ea Binary files /dev/null and b/assets/hbm/textures/items/motor.png differ diff --git a/assets/hbm/textures/items/multi_kit.png b/assets/hbm/textures/items/multi_kit.png new file mode 100644 index 000000000..9cbd9829c Binary files /dev/null and b/assets/hbm/textures/items/multi_kit.png differ diff --git a/assets/hbm/textures/items/neutron_reflector.png b/assets/hbm/textures/items/neutron_reflector.png new file mode 100644 index 000000000..9e1bb1a29 Binary files /dev/null and b/assets/hbm/textures/items/neutron_reflector.png differ diff --git a/assets/hbm/textures/items/neutron_reflector_old.png b/assets/hbm/textures/items/neutron_reflector_old.png new file mode 100644 index 000000000..99d28929b Binary files /dev/null and b/assets/hbm/textures/items/neutron_reflector_old.png differ diff --git a/assets/hbm/textures/items/nuclear_waste.png b/assets/hbm/textures/items/nuclear_waste.png new file mode 100644 index 000000000..e98011513 Binary files /dev/null and b/assets/hbm/textures/items/nuclear_waste.png differ diff --git a/assets/hbm/textures/items/nugget_beryllium.png b/assets/hbm/textures/items/nugget_beryllium.png new file mode 100644 index 000000000..4b1c3829e Binary files /dev/null and b/assets/hbm/textures/items/nugget_beryllium.png differ diff --git a/assets/hbm/textures/items/nugget_euphemium.png b/assets/hbm/textures/items/nugget_euphemium.png new file mode 100644 index 000000000..6683d3dad Binary files /dev/null and b/assets/hbm/textures/items/nugget_euphemium.png differ diff --git a/assets/hbm/textures/items/nugget_lead.png b/assets/hbm/textures/items/nugget_lead.png new file mode 100644 index 000000000..15a5e0791 Binary files /dev/null and b/assets/hbm/textures/items/nugget_lead.png differ diff --git a/assets/hbm/textures/items/nugget_mox_fuel.png b/assets/hbm/textures/items/nugget_mox_fuel.png new file mode 100644 index 000000000..16d410229 Binary files /dev/null and b/assets/hbm/textures/items/nugget_mox_fuel.png differ diff --git a/assets/hbm/textures/items/nugget_neptunium.png b/assets/hbm/textures/items/nugget_neptunium.png new file mode 100644 index 000000000..867ac7a64 Binary files /dev/null and b/assets/hbm/textures/items/nugget_neptunium.png differ diff --git a/assets/hbm/textures/items/nugget_plutonium.png b/assets/hbm/textures/items/nugget_plutonium.png new file mode 100644 index 000000000..1d8f82470 Binary files /dev/null and b/assets/hbm/textures/items/nugget_plutonium.png differ diff --git a/assets/hbm/textures/items/nugget_schrabidium.png b/assets/hbm/textures/items/nugget_schrabidium.png new file mode 100644 index 000000000..33406ce2f Binary files /dev/null and b/assets/hbm/textures/items/nugget_schrabidium.png differ diff --git a/assets/hbm/textures/items/nugget_schrabidium_fuel.png b/assets/hbm/textures/items/nugget_schrabidium_fuel.png new file mode 100644 index 000000000..3945ba86f Binary files /dev/null and b/assets/hbm/textures/items/nugget_schrabidium_fuel.png differ diff --git a/assets/hbm/textures/items/nugget_uranium.png b/assets/hbm/textures/items/nugget_uranium.png new file mode 100644 index 000000000..ce766ec3b Binary files /dev/null and b/assets/hbm/textures/items/nugget_uranium.png differ diff --git a/assets/hbm/textures/items/nuke_advanced_kit.png b/assets/hbm/textures/items/nuke_advanced_kit.png new file mode 100644 index 000000000..caa6d3bbf Binary files /dev/null and b/assets/hbm/textures/items/nuke_advanced_kit.png differ diff --git a/assets/hbm/textures/items/nuke_commercially_kit.png b/assets/hbm/textures/items/nuke_commercially_kit.png new file mode 100644 index 000000000..b87028827 Binary files /dev/null and b/assets/hbm/textures/items/nuke_commercially_kit.png differ diff --git a/assets/hbm/textures/items/nuke_electric_kit.png b/assets/hbm/textures/items/nuke_electric_kit.png new file mode 100644 index 000000000..c9b038852 Binary files /dev/null and b/assets/hbm/textures/items/nuke_electric_kit.png differ diff --git a/assets/hbm/textures/items/nuke_starter_kit.png b/assets/hbm/textures/items/nuke_starter_kit.png new file mode 100644 index 000000000..504153151 Binary files /dev/null and b/assets/hbm/textures/items/nuke_starter_kit.png differ diff --git a/assets/hbm/textures/items/pedestal_steel.png b/assets/hbm/textures/items/pedestal_steel.png new file mode 100644 index 000000000..f348c3cc7 Binary files /dev/null and b/assets/hbm/textures/items/pedestal_steel.png differ diff --git a/assets/hbm/textures/items/pellet_cluster.png b/assets/hbm/textures/items/pellet_cluster.png new file mode 100644 index 000000000..46c4e86c4 Binary files /dev/null and b/assets/hbm/textures/items/pellet_cluster.png differ diff --git a/assets/hbm/textures/items/pellet_gas.png b/assets/hbm/textures/items/pellet_gas.png new file mode 100644 index 000000000..ab3770261 Binary files /dev/null and b/assets/hbm/textures/items/pellet_gas.png differ diff --git a/assets/hbm/textures/items/pellet_rtg.png b/assets/hbm/textures/items/pellet_rtg.png new file mode 100644 index 000000000..cfa58e42e Binary files /dev/null and b/assets/hbm/textures/items/pellet_rtg.png differ diff --git a/assets/hbm/textures/items/plate_aluminium.png b/assets/hbm/textures/items/plate_aluminium.png new file mode 100644 index 000000000..599cea78c Binary files /dev/null and b/assets/hbm/textures/items/plate_aluminium.png differ diff --git a/assets/hbm/textures/items/plate_aluminium_old.png b/assets/hbm/textures/items/plate_aluminium_old.png new file mode 100644 index 000000000..c89c63253 Binary files /dev/null and b/assets/hbm/textures/items/plate_aluminium_old.png differ diff --git a/assets/hbm/textures/items/plate_copper.png b/assets/hbm/textures/items/plate_copper.png new file mode 100644 index 000000000..280e44986 Binary files /dev/null and b/assets/hbm/textures/items/plate_copper.png differ diff --git a/assets/hbm/textures/items/plate_gold.png b/assets/hbm/textures/items/plate_gold.png new file mode 100644 index 000000000..4d12b301f Binary files /dev/null and b/assets/hbm/textures/items/plate_gold.png differ diff --git a/assets/hbm/textures/items/plate_iron.png b/assets/hbm/textures/items/plate_iron.png new file mode 100644 index 000000000..dc8853d1d Binary files /dev/null and b/assets/hbm/textures/items/plate_iron.png differ diff --git a/assets/hbm/textures/items/plate_lead.png b/assets/hbm/textures/items/plate_lead.png new file mode 100644 index 000000000..911c5b818 Binary files /dev/null and b/assets/hbm/textures/items/plate_lead.png differ diff --git a/assets/hbm/textures/items/plate_schrabidium.png b/assets/hbm/textures/items/plate_schrabidium.png new file mode 100644 index 000000000..46faf14b1 Binary files /dev/null and b/assets/hbm/textures/items/plate_schrabidium.png differ diff --git a/assets/hbm/textures/items/plate_steel.png b/assets/hbm/textures/items/plate_steel.png new file mode 100644 index 000000000..93f8200a5 Binary files /dev/null and b/assets/hbm/textures/items/plate_steel.png differ diff --git a/assets/hbm/textures/items/plate_steel_old.png b/assets/hbm/textures/items/plate_steel_old.png new file mode 100644 index 000000000..502eafcc0 Binary files /dev/null and b/assets/hbm/textures/items/plate_steel_old.png differ diff --git a/assets/hbm/textures/items/plate_titanium.png b/assets/hbm/textures/items/plate_titanium.png new file mode 100644 index 000000000..35c23403f Binary files /dev/null and b/assets/hbm/textures/items/plate_titanium.png differ diff --git a/assets/hbm/textures/items/plate_titanium_old.png b/assets/hbm/textures/items/plate_titanium_old.png new file mode 100644 index 000000000..c42e7a74e Binary files /dev/null and b/assets/hbm/textures/items/plate_titanium_old.png differ diff --git a/assets/hbm/textures/items/powder_fire.png b/assets/hbm/textures/items/powder_fire.png new file mode 100644 index 000000000..059122110 Binary files /dev/null and b/assets/hbm/textures/items/powder_fire.png differ diff --git a/assets/hbm/textures/items/powder_lead.png b/assets/hbm/textures/items/powder_lead.png new file mode 100644 index 000000000..0a32a56fc Binary files /dev/null and b/assets/hbm/textures/items/powder_lead.png differ diff --git a/assets/hbm/textures/items/powder_neptunium.png b/assets/hbm/textures/items/powder_neptunium.png new file mode 100644 index 000000000..2e13a7af1 Binary files /dev/null and b/assets/hbm/textures/items/powder_neptunium.png differ diff --git a/assets/hbm/textures/items/powder_poison.png b/assets/hbm/textures/items/powder_poison.png new file mode 100644 index 000000000..3d53d2192 Binary files /dev/null and b/assets/hbm/textures/items/powder_poison.png differ diff --git a/assets/hbm/textures/items/powder_schrabidium.png b/assets/hbm/textures/items/powder_schrabidium.png new file mode 100644 index 000000000..782e322b0 Binary files /dev/null and b/assets/hbm/textures/items/powder_schrabidium.png differ diff --git a/assets/hbm/textures/items/prototype_kit.png b/assets/hbm/textures/items/prototype_kit.png new file mode 100644 index 000000000..5d13babf0 Binary files /dev/null and b/assets/hbm/textures/items/prototype_kit.png differ diff --git a/assets/hbm/textures/items/reactor_core.png b/assets/hbm/textures/items/reactor_core.png new file mode 100644 index 000000000..31855c644 Binary files /dev/null and b/assets/hbm/textures/items/reactor_core.png differ diff --git a/assets/hbm/textures/items/redstone_block.png b/assets/hbm/textures/items/redstone_block.png new file mode 100644 index 000000000..fcf6b40f7 Binary files /dev/null and b/assets/hbm/textures/items/redstone_block.png differ diff --git a/assets/hbm/textures/items/redstone_sword.png b/assets/hbm/textures/items/redstone_sword.png new file mode 100644 index 000000000..217b2361c Binary files /dev/null and b/assets/hbm/textures/items/redstone_sword.png differ diff --git a/assets/hbm/textures/items/rod_coolant.png b/assets/hbm/textures/items/rod_coolant.png new file mode 100644 index 000000000..0176e3e48 Binary files /dev/null and b/assets/hbm/textures/items/rod_coolant.png differ diff --git a/assets/hbm/textures/items/rod_dual_coolant.png b/assets/hbm/textures/items/rod_dual_coolant.png new file mode 100644 index 000000000..d4044ee56 Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_coolant.png differ diff --git a/assets/hbm/textures/items/rod_dual_empty.png b/assets/hbm/textures/items/rod_dual_empty.png new file mode 100644 index 000000000..88e4cc60f Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_empty.png differ diff --git a/assets/hbm/textures/items/rod_dual_lead.png b/assets/hbm/textures/items/rod_dual_lead.png new file mode 100644 index 000000000..902ca12bd Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_lead.png differ diff --git a/assets/hbm/textures/items/rod_dual_mox_fuel.png b/assets/hbm/textures/items/rod_dual_mox_fuel.png new file mode 100644 index 000000000..ea1e71675 Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_mox_fuel.png differ diff --git a/assets/hbm/textures/items/rod_dual_mox_fuel_depleted.png b/assets/hbm/textures/items/rod_dual_mox_fuel_depleted.png new file mode 100644 index 000000000..e045a4dd6 Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_mox_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_dual_neptunium.png b/assets/hbm/textures/items/rod_dual_neptunium.png new file mode 100644 index 000000000..5c5d4143e Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_neptunium.png differ diff --git a/assets/hbm/textures/items/rod_dual_plutonium.png b/assets/hbm/textures/items/rod_dual_plutonium.png new file mode 100644 index 000000000..4345596e7 Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_plutonium.png differ diff --git a/assets/hbm/textures/items/rod_dual_plutonium_fuel_depleted.png b/assets/hbm/textures/items/rod_dual_plutonium_fuel_depleted.png new file mode 100644 index 000000000..b235456ae Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_plutonium_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_dual_schrabidium.png b/assets/hbm/textures/items/rod_dual_schrabidium.png new file mode 100644 index 000000000..31d22a97d Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_schrabidium.png differ diff --git a/assets/hbm/textures/items/rod_dual_schrabidium_fuel.png b/assets/hbm/textures/items/rod_dual_schrabidium_fuel.png new file mode 100644 index 000000000..28b4b3906 Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_schrabidium_fuel.png differ diff --git a/assets/hbm/textures/items/rod_dual_schrabidium_fuel_depleted.png b/assets/hbm/textures/items/rod_dual_schrabidium_fuel_depleted.png new file mode 100644 index 000000000..98cc9f85c Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_schrabidium_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_dual_uranium.png b/assets/hbm/textures/items/rod_dual_uranium.png new file mode 100644 index 000000000..ba44e3cd2 Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_uranium.png differ diff --git a/assets/hbm/textures/items/rod_dual_uranium_fuel_depleted.png b/assets/hbm/textures/items/rod_dual_uranium_fuel_depleted.png new file mode 100644 index 000000000..4e5e8431f Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_uranium_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_dual_waste.png b/assets/hbm/textures/items/rod_dual_waste.png new file mode 100644 index 000000000..6b9836e6d Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_waste.png differ diff --git a/assets/hbm/textures/items/rod_dual_water.png b/assets/hbm/textures/items/rod_dual_water.png new file mode 100644 index 000000000..4f35700d5 Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_water.png differ diff --git a/assets/hbm/textures/items/rod_empty.png b/assets/hbm/textures/items/rod_empty.png new file mode 100644 index 000000000..87b63645d Binary files /dev/null and b/assets/hbm/textures/items/rod_empty.png differ diff --git a/assets/hbm/textures/items/rod_lead.png b/assets/hbm/textures/items/rod_lead.png new file mode 100644 index 000000000..a54574f7b Binary files /dev/null and b/assets/hbm/textures/items/rod_lead.png differ diff --git a/assets/hbm/textures/items/rod_mox_fuel.png b/assets/hbm/textures/items/rod_mox_fuel.png new file mode 100644 index 000000000..e025e1dbf Binary files /dev/null and b/assets/hbm/textures/items/rod_mox_fuel.png differ diff --git a/assets/hbm/textures/items/rod_mox_fuel_depleted.png b/assets/hbm/textures/items/rod_mox_fuel_depleted.png new file mode 100644 index 000000000..0139f6a53 Binary files /dev/null and b/assets/hbm/textures/items/rod_mox_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_neptunium.png b/assets/hbm/textures/items/rod_neptunium.png new file mode 100644 index 000000000..35629352a Binary files /dev/null and b/assets/hbm/textures/items/rod_neptunium.png differ diff --git a/assets/hbm/textures/items/rod_plutonium.png b/assets/hbm/textures/items/rod_plutonium.png new file mode 100644 index 000000000..6cfd83cc8 Binary files /dev/null and b/assets/hbm/textures/items/rod_plutonium.png differ diff --git a/assets/hbm/textures/items/rod_plutonium_fuel_depleted.png b/assets/hbm/textures/items/rod_plutonium_fuel_depleted.png new file mode 100644 index 000000000..738ab2103 Binary files /dev/null and b/assets/hbm/textures/items/rod_plutonium_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_quad_coolant.png b/assets/hbm/textures/items/rod_quad_coolant.png new file mode 100644 index 000000000..315ff08d1 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_coolant.png differ diff --git a/assets/hbm/textures/items/rod_quad_empty.png b/assets/hbm/textures/items/rod_quad_empty.png new file mode 100644 index 000000000..d0c788f8b Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_empty.png differ diff --git a/assets/hbm/textures/items/rod_quad_euphemium.png b/assets/hbm/textures/items/rod_quad_euphemium.png new file mode 100644 index 000000000..3cea4152a Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_euphemium.png differ diff --git a/assets/hbm/textures/items/rod_quad_lead.png b/assets/hbm/textures/items/rod_quad_lead.png new file mode 100644 index 000000000..633f6fa24 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_lead.png differ diff --git a/assets/hbm/textures/items/rod_quad_mox_fuel.png b/assets/hbm/textures/items/rod_quad_mox_fuel.png new file mode 100644 index 000000000..8259f0e1a Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_mox_fuel.png differ diff --git a/assets/hbm/textures/items/rod_quad_mox_fuel_depleted.png b/assets/hbm/textures/items/rod_quad_mox_fuel_depleted.png new file mode 100644 index 000000000..fa9d49402 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_mox_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_quad_neptunium.png b/assets/hbm/textures/items/rod_quad_neptunium.png new file mode 100644 index 000000000..ede83f004 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_neptunium.png differ diff --git a/assets/hbm/textures/items/rod_quad_plutonium.png b/assets/hbm/textures/items/rod_quad_plutonium.png new file mode 100644 index 000000000..8b7fb73d8 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_plutonium.png differ diff --git a/assets/hbm/textures/items/rod_quad_plutonium_fuel_depleted.png b/assets/hbm/textures/items/rod_quad_plutonium_fuel_depleted.png new file mode 100644 index 000000000..625a70e13 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_plutonium_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_quad_schrabidium.png b/assets/hbm/textures/items/rod_quad_schrabidium.png new file mode 100644 index 000000000..e8cbb0fb6 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_schrabidium.png differ diff --git a/assets/hbm/textures/items/rod_quad_schrabidium_fuel.png b/assets/hbm/textures/items/rod_quad_schrabidium_fuel.png new file mode 100644 index 000000000..ee941eac6 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_schrabidium_fuel.png differ diff --git a/assets/hbm/textures/items/rod_quad_schrabidium_fuel_depleted.png b/assets/hbm/textures/items/rod_quad_schrabidium_fuel_depleted.png new file mode 100644 index 000000000..a3209c755 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_schrabidium_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_quad_uranium.png b/assets/hbm/textures/items/rod_quad_uranium.png new file mode 100644 index 000000000..4336762df Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_uranium.png differ diff --git a/assets/hbm/textures/items/rod_quad_uranium_fuel_depleted.png b/assets/hbm/textures/items/rod_quad_uranium_fuel_depleted.png new file mode 100644 index 000000000..1690ef131 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_uranium_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_quad_waste.png b/assets/hbm/textures/items/rod_quad_waste.png new file mode 100644 index 000000000..0ecf0a55d Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_waste.png differ diff --git a/assets/hbm/textures/items/rod_quad_water.png b/assets/hbm/textures/items/rod_quad_water.png new file mode 100644 index 000000000..a51ec0e52 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_water.png differ diff --git a/assets/hbm/textures/items/rod_schrabidium.png b/assets/hbm/textures/items/rod_schrabidium.png new file mode 100644 index 000000000..28d5be64f Binary files /dev/null and b/assets/hbm/textures/items/rod_schrabidium.png differ diff --git a/assets/hbm/textures/items/rod_schrabidium_fuel.png b/assets/hbm/textures/items/rod_schrabidium_fuel.png new file mode 100644 index 000000000..c32e26aea Binary files /dev/null and b/assets/hbm/textures/items/rod_schrabidium_fuel.png differ diff --git a/assets/hbm/textures/items/rod_schrabidium_fuel_depleted.png b/assets/hbm/textures/items/rod_schrabidium_fuel_depleted.png new file mode 100644 index 000000000..7ec4fc592 Binary files /dev/null and b/assets/hbm/textures/items/rod_schrabidium_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_uranium.png b/assets/hbm/textures/items/rod_uranium.png new file mode 100644 index 000000000..bd6180898 Binary files /dev/null and b/assets/hbm/textures/items/rod_uranium.png differ diff --git a/assets/hbm/textures/items/rod_uranium_fuel_depleted.png b/assets/hbm/textures/items/rod_uranium_fuel_depleted.png new file mode 100644 index 000000000..619839b7b Binary files /dev/null and b/assets/hbm/textures/items/rod_uranium_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_waste.png b/assets/hbm/textures/items/rod_waste.png new file mode 100644 index 000000000..6b217b750 Binary files /dev/null and b/assets/hbm/textures/items/rod_waste.png differ diff --git a/assets/hbm/textures/items/rod_water.png b/assets/hbm/textures/items/rod_water.png new file mode 100644 index 000000000..5fe5e70da Binary files /dev/null and b/assets/hbm/textures/items/rod_water.png differ diff --git a/assets/hbm/textures/items/rtg_unit.png b/assets/hbm/textures/items/rtg_unit.png new file mode 100644 index 000000000..d86ddfda6 Binary files /dev/null and b/assets/hbm/textures/items/rtg_unit.png differ diff --git a/assets/hbm/textures/items/salpeter.png b/assets/hbm/textures/items/salpeter.png new file mode 100644 index 000000000..834b19d47 Binary files /dev/null and b/assets/hbm/textures/items/salpeter.png differ diff --git a/assets/hbm/textures/items/schnitzel_vegan.png b/assets/hbm/textures/items/schnitzel_vegan.png new file mode 100644 index 000000000..0fff26379 Binary files /dev/null and b/assets/hbm/textures/items/schnitzel_vegan.png differ diff --git a/assets/hbm/textures/items/schrabidium_axe.png b/assets/hbm/textures/items/schrabidium_axe.png new file mode 100644 index 000000000..f6298a24d Binary files /dev/null and b/assets/hbm/textures/items/schrabidium_axe.png differ diff --git a/assets/hbm/textures/items/schrabidium_boots.png b/assets/hbm/textures/items/schrabidium_boots.png new file mode 100644 index 000000000..20d83f24b Binary files /dev/null and b/assets/hbm/textures/items/schrabidium_boots.png differ diff --git a/assets/hbm/textures/items/schrabidium_helmet.png b/assets/hbm/textures/items/schrabidium_helmet.png new file mode 100644 index 000000000..9598c2be5 Binary files /dev/null and b/assets/hbm/textures/items/schrabidium_helmet.png differ diff --git a/assets/hbm/textures/items/schrabidium_hoe.png b/assets/hbm/textures/items/schrabidium_hoe.png new file mode 100644 index 000000000..2e6878b7a Binary files /dev/null and b/assets/hbm/textures/items/schrabidium_hoe.png differ diff --git a/assets/hbm/textures/items/schrabidium_legs.png b/assets/hbm/textures/items/schrabidium_legs.png new file mode 100644 index 000000000..3b9952bc8 Binary files /dev/null and b/assets/hbm/textures/items/schrabidium_legs.png differ diff --git a/assets/hbm/textures/items/schrabidium_pickaxe.png b/assets/hbm/textures/items/schrabidium_pickaxe.png new file mode 100644 index 000000000..96be57e0f Binary files /dev/null and b/assets/hbm/textures/items/schrabidium_pickaxe.png differ diff --git a/assets/hbm/textures/items/schrabidium_plate.png b/assets/hbm/textures/items/schrabidium_plate.png new file mode 100644 index 000000000..198c963b2 Binary files /dev/null and b/assets/hbm/textures/items/schrabidium_plate.png differ diff --git a/assets/hbm/textures/items/schrabidium_shovel.png b/assets/hbm/textures/items/schrabidium_shovel.png new file mode 100644 index 000000000..f4cbeda9c Binary files /dev/null and b/assets/hbm/textures/items/schrabidium_shovel.png differ diff --git a/assets/hbm/textures/items/schrabidium_sword.png b/assets/hbm/textures/items/schrabidium_sword.png new file mode 100644 index 000000000..d6f406635 Binary files /dev/null and b/assets/hbm/textures/items/schrabidium_sword.png differ diff --git a/assets/hbm/textures/items/sphere_steel.png b/assets/hbm/textures/items/sphere_steel.png new file mode 100644 index 000000000..f7328da97 Binary files /dev/null and b/assets/hbm/textures/items/sphere_steel.png differ diff --git a/assets/hbm/textures/items/sulfur.png b/assets/hbm/textures/items/sulfur.png new file mode 100644 index 000000000..6cc9b6c70 Binary files /dev/null and b/assets/hbm/textures/items/sulfur.png differ diff --git a/assets/hbm/textures/items/swordTemplate.png b/assets/hbm/textures/items/swordTemplate.png new file mode 100644 index 000000000..cda8f964c Binary files /dev/null and b/assets/hbm/textures/items/swordTemplate.png differ diff --git a/assets/hbm/textures/items/syringe_antidote.png b/assets/hbm/textures/items/syringe_antidote.png new file mode 100644 index 000000000..828ee7cad Binary files /dev/null and b/assets/hbm/textures/items/syringe_antidote.png differ diff --git a/assets/hbm/textures/items/syringe_awesome.png b/assets/hbm/textures/items/syringe_awesome.png new file mode 100644 index 000000000..12ddfc038 Binary files /dev/null and b/assets/hbm/textures/items/syringe_awesome.png differ diff --git a/assets/hbm/textures/items/syringe_empty.png b/assets/hbm/textures/items/syringe_empty.png new file mode 100644 index 000000000..4c7ad8e6c Binary files /dev/null and b/assets/hbm/textures/items/syringe_empty.png differ diff --git a/assets/hbm/textures/items/syringe_metal_empty.png b/assets/hbm/textures/items/syringe_metal_empty.png new file mode 100644 index 000000000..bfcb16c67 Binary files /dev/null and b/assets/hbm/textures/items/syringe_metal_empty.png differ diff --git a/assets/hbm/textures/items/syringe_metal_stimpak.png b/assets/hbm/textures/items/syringe_metal_stimpak.png new file mode 100644 index 000000000..3442500d5 Binary files /dev/null and b/assets/hbm/textures/items/syringe_metal_stimpak.png differ diff --git a/assets/hbm/textures/items/t45_boots.png b/assets/hbm/textures/items/t45_boots.png new file mode 100644 index 000000000..43fbc29c3 Binary files /dev/null and b/assets/hbm/textures/items/t45_boots.png differ diff --git a/assets/hbm/textures/items/t45_helmet.png b/assets/hbm/textures/items/t45_helmet.png new file mode 100644 index 000000000..7d2bf045e Binary files /dev/null and b/assets/hbm/textures/items/t45_helmet.png differ diff --git a/assets/hbm/textures/items/t45_legs.png b/assets/hbm/textures/items/t45_legs.png new file mode 100644 index 000000000..858361b71 Binary files /dev/null and b/assets/hbm/textures/items/t45_legs.png differ diff --git a/assets/hbm/textures/items/t45_plate.png b/assets/hbm/textures/items/t45_plate.png new file mode 100644 index 000000000..d8f78a949 Binary files /dev/null and b/assets/hbm/textures/items/t45_plate.png differ diff --git a/assets/hbm/textures/items/tank_steel.png b/assets/hbm/textures/items/tank_steel.png new file mode 100644 index 000000000..c8365c31e Binary files /dev/null and b/assets/hbm/textures/items/tank_steel.png differ diff --git a/assets/hbm/textures/items/tem.png b/assets/hbm/textures/items/tem.png new file mode 100644 index 000000000..05aaa5297 Binary files /dev/null and b/assets/hbm/textures/items/tem.png differ diff --git a/assets/hbm/textures/items/test_boots.png b/assets/hbm/textures/items/test_boots.png new file mode 100644 index 000000000..8f068b965 Binary files /dev/null and b/assets/hbm/textures/items/test_boots.png differ diff --git a/assets/hbm/textures/items/test_chestplate.png b/assets/hbm/textures/items/test_chestplate.png new file mode 100644 index 000000000..8c391c10b Binary files /dev/null and b/assets/hbm/textures/items/test_chestplate.png differ diff --git a/assets/hbm/textures/items/test_core.png b/assets/hbm/textures/items/test_core.png new file mode 100644 index 000000000..7c01ff7fc Binary files /dev/null and b/assets/hbm/textures/items/test_core.png differ diff --git a/assets/hbm/textures/items/test_explosive.png b/assets/hbm/textures/items/test_explosive.png new file mode 100644 index 000000000..5805405de Binary files /dev/null and b/assets/hbm/textures/items/test_explosive.png differ diff --git a/assets/hbm/textures/items/test_explosive8.png b/assets/hbm/textures/items/test_explosive8.png new file mode 100644 index 000000000..ea7a0030c Binary files /dev/null and b/assets/hbm/textures/items/test_explosive8.png differ diff --git a/assets/hbm/textures/items/test_helmet.png b/assets/hbm/textures/items/test_helmet.png new file mode 100644 index 000000000..3b2e2a4ac Binary files /dev/null and b/assets/hbm/textures/items/test_helmet.png differ diff --git a/assets/hbm/textures/items/test_leggings.png b/assets/hbm/textures/items/test_leggings.png new file mode 100644 index 000000000..e3587c5d4 Binary files /dev/null and b/assets/hbm/textures/items/test_leggings.png differ diff --git a/assets/hbm/textures/items/test_nuke_igniter.png b/assets/hbm/textures/items/test_nuke_igniter.png new file mode 100644 index 000000000..53411a653 Binary files /dev/null and b/assets/hbm/textures/items/test_nuke_igniter.png differ diff --git a/assets/hbm/textures/items/test_nuke_propellant.png b/assets/hbm/textures/items/test_nuke_propellant.png new file mode 100644 index 000000000..b4e7a38ba Binary files /dev/null and b/assets/hbm/textures/items/test_nuke_propellant.png differ diff --git a/assets/hbm/textures/items/test_nuke_tier1_bullet.png b/assets/hbm/textures/items/test_nuke_tier1_bullet.png new file mode 100644 index 000000000..104b0e446 Binary files /dev/null and b/assets/hbm/textures/items/test_nuke_tier1_bullet.png differ diff --git a/assets/hbm/textures/items/test_nuke_tier1_shielding.png b/assets/hbm/textures/items/test_nuke_tier1_shielding.png new file mode 100644 index 000000000..4a098ed2d Binary files /dev/null and b/assets/hbm/textures/items/test_nuke_tier1_shielding.png differ diff --git a/assets/hbm/textures/items/test_nuke_tier1_target.png b/assets/hbm/textures/items/test_nuke_tier1_target.png new file mode 100644 index 000000000..8ec920f35 Binary files /dev/null and b/assets/hbm/textures/items/test_nuke_tier1_target.png differ diff --git a/assets/hbm/textures/items/test_nuke_tier2_bullet.png b/assets/hbm/textures/items/test_nuke_tier2_bullet.png new file mode 100644 index 000000000..51210f584 Binary files /dev/null and b/assets/hbm/textures/items/test_nuke_tier2_bullet.png differ diff --git a/assets/hbm/textures/items/test_nuke_tier2_shielding.png b/assets/hbm/textures/items/test_nuke_tier2_shielding.png new file mode 100644 index 000000000..fbd4eed16 Binary files /dev/null and b/assets/hbm/textures/items/test_nuke_tier2_shielding.png differ diff --git a/assets/hbm/textures/items/test_nuke_tier2_target.png b/assets/hbm/textures/items/test_nuke_tier2_target.png new file mode 100644 index 000000000..b5d81f7c8 Binary files /dev/null and b/assets/hbm/textures/items/test_nuke_tier2_target.png differ diff --git a/assets/hbm/textures/items/test_wireing.png b/assets/hbm/textures/items/test_wireing.png new file mode 100644 index 000000000..606917c73 Binary files /dev/null and b/assets/hbm/textures/items/test_wireing.png differ diff --git a/assets/hbm/textures/items/thermo_unit_empty.png b/assets/hbm/textures/items/thermo_unit_empty.png new file mode 100644 index 000000000..7c2d6c291 Binary files /dev/null and b/assets/hbm/textures/items/thermo_unit_empty.png differ diff --git a/assets/hbm/textures/items/thermo_unit_endo.png b/assets/hbm/textures/items/thermo_unit_endo.png new file mode 100644 index 000000000..be887119a Binary files /dev/null and b/assets/hbm/textures/items/thermo_unit_endo.png differ diff --git a/assets/hbm/textures/items/thermo_unit_exo.png b/assets/hbm/textures/items/thermo_unit_exo.png new file mode 100644 index 000000000..585c82e13 Binary files /dev/null and b/assets/hbm/textures/items/thermo_unit_exo.png differ diff --git a/assets/hbm/textures/items/thruster_large.png b/assets/hbm/textures/items/thruster_large.png new file mode 100644 index 000000000..6d5267ee7 Binary files /dev/null and b/assets/hbm/textures/items/thruster_large.png differ diff --git a/assets/hbm/textures/items/thruster_medium.png b/assets/hbm/textures/items/thruster_medium.png new file mode 100644 index 000000000..3af950484 Binary files /dev/null and b/assets/hbm/textures/items/thruster_medium.png differ diff --git a/assets/hbm/textures/items/thruster_small.png b/assets/hbm/textures/items/thruster_small.png new file mode 100644 index 000000000..7560d4fcf Binary files /dev/null and b/assets/hbm/textures/items/thruster_small.png differ diff --git a/assets/hbm/textures/items/trigger.png b/assets/hbm/textures/items/trigger.png new file mode 100644 index 000000000..08f2f9cd0 Binary files /dev/null and b/assets/hbm/textures/items/trigger.png differ diff --git a/assets/hbm/textures/items/trinitite.png b/assets/hbm/textures/items/trinitite.png new file mode 100644 index 000000000..08f1df467 Binary files /dev/null and b/assets/hbm/textures/items/trinitite.png differ diff --git a/assets/hbm/textures/items/trinitite_new.png b/assets/hbm/textures/items/trinitite_new.png new file mode 100644 index 000000000..1cfce1f23 Binary files /dev/null and b/assets/hbm/textures/items/trinitite_new.png differ diff --git a/assets/hbm/textures/items/tritium_deuterium_cake.png b/assets/hbm/textures/items/tritium_deuterium_cake.png new file mode 100644 index 000000000..28a1ff5c9 Binary files /dev/null and b/assets/hbm/textures/items/tritium_deuterium_cake.png differ diff --git a/assets/hbm/textures/items/tsar_core.png b/assets/hbm/textures/items/tsar_core.png new file mode 100644 index 000000000..635c8f922 Binary files /dev/null and b/assets/hbm/textures/items/tsar_core.png differ diff --git a/assets/hbm/textures/items/tsar_kit.png b/assets/hbm/textures/items/tsar_kit.png new file mode 100644 index 000000000..2c8791469 Binary files /dev/null and b/assets/hbm/textures/items/tsar_kit.png differ diff --git a/assets/hbm/textures/items/vinny.png b/assets/hbm/textures/items/vinny.png new file mode 100644 index 000000000..924545f7b Binary files /dev/null and b/assets/hbm/textures/items/vinny.png differ diff --git a/assets/hbm/textures/items/war_head_large.png b/assets/hbm/textures/items/war_head_large.png new file mode 100644 index 000000000..9bf590918 Binary files /dev/null and b/assets/hbm/textures/items/war_head_large.png differ diff --git a/assets/hbm/textures/items/war_head_medium.png b/assets/hbm/textures/items/war_head_medium.png new file mode 100644 index 000000000..705e70a86 Binary files /dev/null and b/assets/hbm/textures/items/war_head_medium.png differ diff --git a/assets/hbm/textures/items/war_head_nucelar.png b/assets/hbm/textures/items/war_head_nucelar.png new file mode 100644 index 000000000..24a425030 Binary files /dev/null and b/assets/hbm/textures/items/war_head_nucelar.png differ diff --git a/assets/hbm/textures/items/war_head_small.png b/assets/hbm/textures/items/war_head_small.png new file mode 100644 index 000000000..fb8d2badc Binary files /dev/null and b/assets/hbm/textures/items/war_head_small.png differ diff --git a/assets/hbm/textures/items/watch.png b/assets/hbm/textures/items/watch.png new file mode 100644 index 000000000..d28bf9671 Binary files /dev/null and b/assets/hbm/textures/items/watch.png differ diff --git a/assets/hbm/textures/items/wire_aluminium.png b/assets/hbm/textures/items/wire_aluminium.png new file mode 100644 index 000000000..84d065667 Binary files /dev/null and b/assets/hbm/textures/items/wire_aluminium.png differ diff --git a/assets/hbm/textures/items/wire_copper.png b/assets/hbm/textures/items/wire_copper.png new file mode 100644 index 000000000..1ec61204e Binary files /dev/null and b/assets/hbm/textures/items/wire_copper.png differ diff --git a/assets/hbm/textures/items/wire_gold.png b/assets/hbm/textures/items/wire_gold.png new file mode 100644 index 000000000..a95231266 Binary files /dev/null and b/assets/hbm/textures/items/wire_gold.png differ diff --git a/assets/hbm/textures/items/wire_red_copper.png b/assets/hbm/textures/items/wire_red_copper.png new file mode 100644 index 000000000..b1c1ff47a Binary files /dev/null and b/assets/hbm/textures/items/wire_red_copper.png differ diff --git a/assets/hbm/textures/items/wire_schrabidium.png b/assets/hbm/textures/items/wire_schrabidium.png new file mode 100644 index 000000000..69c0f0603 Binary files /dev/null and b/assets/hbm/textures/items/wire_schrabidium.png differ diff --git a/assets/hbm/textures/items/wire_tungsten.png b/assets/hbm/textures/items/wire_tungsten.png new file mode 100644 index 000000000..ebbb07933 Binary files /dev/null and b/assets/hbm/textures/items/wire_tungsten.png differ diff --git a/assets/hbm/textures/models/BombGeneric.png b/assets/hbm/textures/models/BombGeneric.png new file mode 100644 index 000000000..eb06639b5 Binary files /dev/null and b/assets/hbm/textures/models/BombGeneric.png differ diff --git a/assets/hbm/textures/models/BombGenericLargeLayout.png b/assets/hbm/textures/models/BombGenericLargeLayout.png new file mode 100644 index 000000000..04b6b9671 Binary files /dev/null and b/assets/hbm/textures/models/BombGenericLargeLayout.png differ diff --git a/assets/hbm/textures/models/BombGenericLayout.png b/assets/hbm/textures/models/BombGenericLayout.png new file mode 100644 index 000000000..6d5eb922e Binary files /dev/null and b/assets/hbm/textures/models/BombGenericLayout.png differ diff --git a/assets/hbm/textures/models/FatMan.png b/assets/hbm/textures/models/FatMan.png new file mode 100644 index 000000000..dd1c402d1 Binary files /dev/null and b/assets/hbm/textures/models/FatMan.png differ diff --git a/assets/hbm/textures/models/FatManLayout.png b/assets/hbm/textures/models/FatManLayout.png new file mode 100644 index 000000000..4f337a638 Binary files /dev/null and b/assets/hbm/textures/models/FatManLayout.png differ diff --git a/assets/hbm/textures/models/FatManLayout2.png b/assets/hbm/textures/models/FatManLayout2.png new file mode 100644 index 000000000..549931a4d Binary files /dev/null and b/assets/hbm/textures/models/FatManLayout2.png differ diff --git a/assets/hbm/textures/models/Fleija.png b/assets/hbm/textures/models/Fleija.png new file mode 100644 index 000000000..702d09481 Binary files /dev/null and b/assets/hbm/textures/models/Fleija.png differ diff --git a/assets/hbm/textures/models/FleijaLayout.png b/assets/hbm/textures/models/FleijaLayout.png new file mode 100644 index 000000000..44f86c44b Binary files /dev/null and b/assets/hbm/textures/models/FleijaLayout.png differ diff --git a/assets/hbm/textures/models/FleijaTemplate.png b/assets/hbm/textures/models/FleijaTemplate.png new file mode 100644 index 000000000..1c1d1c502 Binary files /dev/null and b/assets/hbm/textures/models/FleijaTemplate.png differ diff --git a/assets/hbm/textures/models/GasMask.png b/assets/hbm/textures/models/GasMask.png new file mode 100644 index 000000000..c1c866ec4 Binary files /dev/null and b/assets/hbm/textures/models/GasMask.png differ diff --git a/assets/hbm/textures/models/Goggles.png b/assets/hbm/textures/models/Goggles.png new file mode 100644 index 000000000..2eb6168a3 Binary files /dev/null and b/assets/hbm/textures/models/Goggles.png differ diff --git a/assets/hbm/textures/models/IvyMike.png b/assets/hbm/textures/models/IvyMike.png new file mode 100644 index 000000000..f2f38efbf Binary files /dev/null and b/assets/hbm/textures/models/IvyMike.png differ diff --git a/assets/hbm/textures/models/IvyMikeLayout.png b/assets/hbm/textures/models/IvyMikeLayout.png new file mode 100644 index 000000000..baefff617 Binary files /dev/null and b/assets/hbm/textures/models/IvyMikeLayout.png differ diff --git a/assets/hbm/textures/models/LaunchPad.png b/assets/hbm/textures/models/LaunchPad.png new file mode 100644 index 000000000..da13c62eb Binary files /dev/null and b/assets/hbm/textures/models/LaunchPad.png differ diff --git a/assets/hbm/textures/models/LilBoy1.png b/assets/hbm/textures/models/LilBoy1.png new file mode 100644 index 000000000..5acf75faf Binary files /dev/null and b/assets/hbm/textures/models/LilBoy1.png differ diff --git a/assets/hbm/textures/models/LilBoy1_.png b/assets/hbm/textures/models/LilBoy1_.png new file mode 100644 index 000000000..9040b8335 Binary files /dev/null and b/assets/hbm/textures/models/LilBoy1_.png differ diff --git a/assets/hbm/textures/models/LilBoy2.png b/assets/hbm/textures/models/LilBoy2.png new file mode 100644 index 000000000..f3511170b Binary files /dev/null and b/assets/hbm/textures/models/LilBoy2.png differ diff --git a/assets/hbm/textures/models/Mirv.png b/assets/hbm/textures/models/Mirv.png new file mode 100644 index 000000000..0f0c3fbdc Binary files /dev/null and b/assets/hbm/textures/models/Mirv.png differ diff --git a/assets/hbm/textures/models/Missile.png b/assets/hbm/textures/models/Missile.png new file mode 100644 index 000000000..ecb23ec99 Binary files /dev/null and b/assets/hbm/textures/models/Missile.png differ diff --git a/assets/hbm/textures/models/MissileBuster.png b/assets/hbm/textures/models/MissileBuster.png new file mode 100644 index 000000000..46799b21e Binary files /dev/null and b/assets/hbm/textures/models/MissileBuster.png differ diff --git a/assets/hbm/textures/models/MissileCluster.png b/assets/hbm/textures/models/MissileCluster.png new file mode 100644 index 000000000..cba5bb303 Binary files /dev/null and b/assets/hbm/textures/models/MissileCluster.png differ diff --git a/assets/hbm/textures/models/MissileGeneric.png b/assets/hbm/textures/models/MissileGeneric.png new file mode 100644 index 000000000..7357687fd Binary files /dev/null and b/assets/hbm/textures/models/MissileGeneric.png differ diff --git a/assets/hbm/textures/models/MissileHuge.png b/assets/hbm/textures/models/MissileHuge.png new file mode 100644 index 000000000..e68ce58a0 Binary files /dev/null and b/assets/hbm/textures/models/MissileHuge.png differ diff --git a/assets/hbm/textures/models/MissileIncendiary.png b/assets/hbm/textures/models/MissileIncendiary.png new file mode 100644 index 000000000..fd3519bce Binary files /dev/null and b/assets/hbm/textures/models/MissileIncendiary.png differ diff --git a/assets/hbm/textures/models/MissileMirv.png b/assets/hbm/textures/models/MissileMirv.png new file mode 100644 index 000000000..df1f99ad3 Binary files /dev/null and b/assets/hbm/textures/models/MissileMirv.png differ diff --git a/assets/hbm/textures/models/MissileNuke.png b/assets/hbm/textures/models/MissileNuke.png new file mode 100644 index 000000000..350cf4595 Binary files /dev/null and b/assets/hbm/textures/models/MissileNuke.png differ diff --git a/assets/hbm/textures/models/MissileThermal.png b/assets/hbm/textures/models/MissileThermal.png new file mode 100644 index 000000000..c4b7b0cdd Binary files /dev/null and b/assets/hbm/textures/models/MissileThermal.png differ diff --git a/assets/hbm/textures/models/MissileV2.png b/assets/hbm/textures/models/MissileV2.png new file mode 100644 index 000000000..6be7b1e24 Binary files /dev/null and b/assets/hbm/textures/models/MissileV2.png differ diff --git a/assets/hbm/textures/models/MissileV2Layout.png b/assets/hbm/textures/models/MissileV2Layout.png new file mode 100644 index 000000000..a27190229 Binary files /dev/null and b/assets/hbm/textures/models/MissileV2Layout.png differ diff --git a/assets/hbm/textures/models/ModelBigSword.png b/assets/hbm/textures/models/ModelBigSword.png new file mode 100644 index 000000000..2ae258264 Binary files /dev/null and b/assets/hbm/textures/models/ModelBigSword.png differ diff --git a/assets/hbm/textures/models/ModelBigSwordTexture.png b/assets/hbm/textures/models/ModelBigSwordTexture.png new file mode 100644 index 000000000..35030eb56 Binary files /dev/null and b/assets/hbm/textures/models/ModelBigSwordTexture.png differ diff --git a/assets/hbm/textures/models/ModelGun.png b/assets/hbm/textures/models/ModelGun.png new file mode 100644 index 000000000..114c085b9 Binary files /dev/null and b/assets/hbm/textures/models/ModelGun.png differ diff --git a/assets/hbm/textures/models/ModelRPG.png b/assets/hbm/textures/models/ModelRPG.png new file mode 100644 index 000000000..a7323d537 Binary files /dev/null and b/assets/hbm/textures/models/ModelRPG.png differ diff --git a/assets/hbm/textures/models/ModelRedBarrel.png b/assets/hbm/textures/models/ModelRedBarrel.png new file mode 100644 index 000000000..f9da8f6de Binary files /dev/null and b/assets/hbm/textures/models/ModelRedBarrel.png differ diff --git a/assets/hbm/textures/models/ModelRevolver.png b/assets/hbm/textures/models/ModelRevolver.png new file mode 100644 index 000000000..34fd41af0 Binary files /dev/null and b/assets/hbm/textures/models/ModelRevolver.png differ diff --git a/assets/hbm/textures/models/ModelRevolverGold.png b/assets/hbm/textures/models/ModelRevolverGold.png new file mode 100644 index 000000000..647bcea5b Binary files /dev/null and b/assets/hbm/textures/models/ModelRevolverGold.png differ diff --git a/assets/hbm/textures/models/ModelRevolverIron.png b/assets/hbm/textures/models/ModelRevolverIron.png new file mode 100644 index 000000000..594005b8e Binary files /dev/null and b/assets/hbm/textures/models/ModelRevolverIron.png differ diff --git a/assets/hbm/textures/models/ModelRevolverSchrabidium.png b/assets/hbm/textures/models/ModelRevolverSchrabidium.png new file mode 100644 index 000000000..8254ead18 Binary files /dev/null and b/assets/hbm/textures/models/ModelRevolverSchrabidium.png differ diff --git a/assets/hbm/textures/models/ModelRocket.png b/assets/hbm/textures/models/ModelRocket.png new file mode 100644 index 000000000..36835fb13 Binary files /dev/null and b/assets/hbm/textures/models/ModelRocket.png differ diff --git a/assets/hbm/textures/models/ModelStatue.png b/assets/hbm/textures/models/ModelStatue.png new file mode 100644 index 000000000..704d4d5f4 Binary files /dev/null and b/assets/hbm/textures/models/ModelStatue.png differ diff --git a/assets/hbm/textures/models/ModelStatueLayout.png b/assets/hbm/textures/models/ModelStatueLayout.png new file mode 100644 index 000000000..de0ffe9d5 Binary files /dev/null and b/assets/hbm/textures/models/ModelStatueLayout.png differ diff --git a/assets/hbm/textures/models/ModelSword.png b/assets/hbm/textures/models/ModelSword.png new file mode 100644 index 000000000..4fed2ec31 Binary files /dev/null and b/assets/hbm/textures/models/ModelSword.png differ diff --git a/assets/hbm/textures/models/ModelSwordRedstone.png b/assets/hbm/textures/models/ModelSwordRedstone.png new file mode 100644 index 000000000..01ccb9715 Binary files /dev/null and b/assets/hbm/textures/models/ModelSwordRedstone.png differ diff --git a/assets/hbm/textures/models/ModelTapeRecorder.png b/assets/hbm/textures/models/ModelTapeRecorder.png new file mode 100644 index 000000000..410217437 Binary files /dev/null and b/assets/hbm/textures/models/ModelTapeRecorder.png differ diff --git a/assets/hbm/textures/models/ModelTestRender.png b/assets/hbm/textures/models/ModelTestRender.png new file mode 100644 index 000000000..7522ed109 Binary files /dev/null and b/assets/hbm/textures/models/ModelTestRender.png differ diff --git a/assets/hbm/textures/models/ModelYellowBarrel.png b/assets/hbm/textures/models/ModelYellowBarrel.png new file mode 100644 index 000000000..fac80fa5f Binary files /dev/null and b/assets/hbm/textures/models/ModelYellowBarrel.png differ diff --git a/assets/hbm/textures/models/NukeCloudFire.png b/assets/hbm/textures/models/NukeCloudFire.png new file mode 100644 index 000000000..419ef0964 Binary files /dev/null and b/assets/hbm/textures/models/NukeCloudFire.png differ diff --git a/assets/hbm/textures/models/NukeTestBomb.png b/assets/hbm/textures/models/NukeTestBomb.png new file mode 100644 index 000000000..0726e0f57 Binary files /dev/null and b/assets/hbm/textures/models/NukeTestBomb.png differ diff --git a/assets/hbm/textures/models/PUF6Tank.png b/assets/hbm/textures/models/PUF6Tank.png new file mode 100644 index 000000000..1ba2e2363 Binary files /dev/null and b/assets/hbm/textures/models/PUF6Tank.png differ diff --git a/assets/hbm/textures/models/PoleSatelliteReceiver.png b/assets/hbm/textures/models/PoleSatelliteReceiver.png new file mode 100644 index 000000000..475fa6690 Binary files /dev/null and b/assets/hbm/textures/models/PoleSatelliteReceiver.png differ diff --git a/assets/hbm/textures/models/PoleTop.png b/assets/hbm/textures/models/PoleTop.png new file mode 100644 index 000000000..1f1c0fae4 Binary files /dev/null and b/assets/hbm/textures/models/PoleTop.png differ diff --git a/assets/hbm/textures/models/Poles.png b/assets/hbm/textures/models/Poles.png new file mode 100644 index 000000000..919c15891 Binary files /dev/null and b/assets/hbm/textures/models/Poles.png differ diff --git a/assets/hbm/textures/models/Prototype.png b/assets/hbm/textures/models/Prototype.png new file mode 100644 index 000000000..9677855a5 Binary files /dev/null and b/assets/hbm/textures/models/Prototype.png differ diff --git a/assets/hbm/textures/models/PrototypeLayout.png b/assets/hbm/textures/models/PrototypeLayout.png new file mode 100644 index 000000000..6c08b7682 Binary files /dev/null and b/assets/hbm/textures/models/PrototypeLayout.png differ diff --git a/assets/hbm/textures/models/Ring.png b/assets/hbm/textures/models/Ring.png new file mode 100644 index 000000000..a96767be1 Binary files /dev/null and b/assets/hbm/textures/models/Ring.png differ diff --git a/assets/hbm/textures/models/Ring2.png b/assets/hbm/textures/models/Ring2.png new file mode 100644 index 000000000..d52ae8735 Binary files /dev/null and b/assets/hbm/textures/models/Ring2.png differ diff --git a/assets/hbm/textures/models/SteelBeam.png b/assets/hbm/textures/models/SteelBeam.png new file mode 100644 index 000000000..aca7ef40f Binary files /dev/null and b/assets/hbm/textures/models/SteelBeam.png differ diff --git a/assets/hbm/textures/models/SteelCorner.png b/assets/hbm/textures/models/SteelCorner.png new file mode 100644 index 000000000..585b3bd3d Binary files /dev/null and b/assets/hbm/textures/models/SteelCorner.png differ diff --git a/assets/hbm/textures/models/SteelRoof.png b/assets/hbm/textures/models/SteelRoof.png new file mode 100644 index 000000000..b4c7e3af7 Binary files /dev/null and b/assets/hbm/textures/models/SteelRoof.png differ diff --git a/assets/hbm/textures/models/SteelScaffold.png b/assets/hbm/textures/models/SteelScaffold.png new file mode 100644 index 000000000..9ea7ecbea Binary files /dev/null and b/assets/hbm/textures/models/SteelScaffold.png differ diff --git a/assets/hbm/textures/models/SteelWall.png b/assets/hbm/textures/models/SteelWall.png new file mode 100644 index 000000000..7ea292660 Binary files /dev/null and b/assets/hbm/textures/models/SteelWall.png differ diff --git a/assets/hbm/textures/models/T45Boots.png b/assets/hbm/textures/models/T45Boots.png new file mode 100644 index 000000000..d418ac7ae Binary files /dev/null and b/assets/hbm/textures/models/T45Boots.png differ diff --git a/assets/hbm/textures/models/T45Chest.png b/assets/hbm/textures/models/T45Chest.png new file mode 100644 index 000000000..5bed23d4a Binary files /dev/null and b/assets/hbm/textures/models/T45Chest.png differ diff --git a/assets/hbm/textures/models/T45Helmet.png b/assets/hbm/textures/models/T45Helmet.png new file mode 100644 index 000000000..ff32fcfaa Binary files /dev/null and b/assets/hbm/textures/models/T45Helmet.png differ diff --git a/assets/hbm/textures/models/T45Legs.png b/assets/hbm/textures/models/T45Legs.png new file mode 100644 index 000000000..11190a005 Binary files /dev/null and b/assets/hbm/textures/models/T45Legs.png differ diff --git a/assets/hbm/textures/models/TestObj.png b/assets/hbm/textures/models/TestObj.png new file mode 100644 index 000000000..e681f2c15 Binary files /dev/null and b/assets/hbm/textures/models/TestObj.png differ diff --git a/assets/hbm/textures/models/TheGadget1.png b/assets/hbm/textures/models/TheGadget1.png new file mode 100644 index 000000000..a1d5e58e4 Binary files /dev/null and b/assets/hbm/textures/models/TheGadget1.png differ diff --git a/assets/hbm/textures/models/TheGadget3.png b/assets/hbm/textures/models/TheGadget3.png new file mode 100644 index 000000000..6c9a51a00 Binary files /dev/null and b/assets/hbm/textures/models/TheGadget3.png differ diff --git a/assets/hbm/textures/models/TheGadget3_.png b/assets/hbm/textures/models/TheGadget3_.png new file mode 100644 index 000000000..548ef8613 Binary files /dev/null and b/assets/hbm/textures/models/TheGadget3_.png differ diff --git a/assets/hbm/textures/models/TsarBomba.png b/assets/hbm/textures/models/TsarBomba.png new file mode 100644 index 000000000..2959653e6 Binary files /dev/null and b/assets/hbm/textures/models/TsarBomba.png differ diff --git a/assets/hbm/textures/models/TsarBombaLayout.png b/assets/hbm/textures/models/TsarBombaLayout.png new file mode 100644 index 000000000..68aff45bd Binary files /dev/null and b/assets/hbm/textures/models/TsarBombaLayout.png differ diff --git a/assets/hbm/textures/models/Turret.png b/assets/hbm/textures/models/Turret.png new file mode 100644 index 000000000..ea75ffd8b Binary files /dev/null and b/assets/hbm/textures/models/Turret.png differ diff --git a/assets/hbm/textures/models/UF6Tank.png b/assets/hbm/textures/models/UF6Tank.png new file mode 100644 index 000000000..2c5897db7 Binary files /dev/null and b/assets/hbm/textures/models/UF6Tank.png differ diff --git a/assets/hbm/textures/models/UF6TankLayout.png b/assets/hbm/textures/models/UF6TankLayout.png new file mode 100644 index 000000000..ae85d1f5d Binary files /dev/null and b/assets/hbm/textures/models/UF6TankLayout.png differ diff --git a/assets/hbm/textures/models/centrifuge.png b/assets/hbm/textures/models/centrifuge.png new file mode 100644 index 000000000..3d3081c5b Binary files /dev/null and b/assets/hbm/textures/models/centrifuge.png differ diff --git a/assets/hbm/textures/models/centrifuge1.png b/assets/hbm/textures/models/centrifuge1.png new file mode 100644 index 000000000..71981252f Binary files /dev/null and b/assets/hbm/textures/models/centrifuge1.png differ diff --git a/assets/hbm/textures/models/centrifugelayout.png b/assets/hbm/textures/models/centrifugelayout.png new file mode 100644 index 000000000..1f7f7d9dc Binary files /dev/null and b/assets/hbm/textures/models/centrifugelayout.png differ diff --git a/assets/hbm/textures/models/test_container_double.png b/assets/hbm/textures/models/test_container_double.png new file mode 100644 index 000000000..182a96c72 Binary files /dev/null and b/assets/hbm/textures/models/test_container_double.png differ diff --git a/assets/hbm/textures/models/test_container_single.png b/assets/hbm/textures/models/test_container_single.png new file mode 100644 index 000000000..c00662549 Binary files /dev/null and b/assets/hbm/textures/models/test_container_single.png differ diff --git a/assets/hbm/textures/particle/nukeSmoke.png b/assets/hbm/textures/particle/nukeSmoke.png new file mode 100644 index 000000000..a754b8036 Binary files /dev/null and b/assets/hbm/textures/particle/nukeSmoke.png differ diff --git a/assets/hbm/textures/particle/nukeSmoke1.png b/assets/hbm/textures/particle/nukeSmoke1.png new file mode 100644 index 000000000..d31ac5c6d Binary files /dev/null and b/assets/hbm/textures/particle/nukeSmoke1.png differ diff --git a/assets/hbm/textures/particle/shockwave.png b/assets/hbm/textures/particle/shockwave.png new file mode 100644 index 000000000..3448b65f1 Binary files /dev/null and b/assets/hbm/textures/particle/shockwave.png differ diff --git a/com/hbm/blocks/BlockGeneric.java b/com/hbm/blocks/BlockGeneric.java new file mode 100644 index 000000000..6f85ae124 --- /dev/null +++ b/com/hbm/blocks/BlockGeneric.java @@ -0,0 +1,12 @@ +package com.hbm.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class BlockGeneric extends Block { + + protected BlockGeneric(Material p_i45394_1_) { + super(p_i45394_1_); + } + +} diff --git a/com/hbm/blocks/BlockOre.java b/com/hbm/blocks/BlockOre.java new file mode 100644 index 000000000..31f624990 --- /dev/null +++ b/com/hbm/blocks/BlockOre.java @@ -0,0 +1,173 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.entity.EntityNuclearCreeper; +import com.hbm.items.ModItems; +import com.hbm.lib.Library; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; + +public class BlockOre extends Block { + + protected BlockOre(Material p_i45394_1_) { + super(p_i45394_1_); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + if(this == ModBlocks.ore_fluorite) + { + return ModItems.fluorite; + } + if(this == ModBlocks.ore_niter) + { + return ModItems.niter; + } + if(this == ModBlocks.ore_sulfur) + { + return ModItems.sulfur; + } + if(this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red) + { + return ModItems.trinitite; + } + if(this == ModBlocks.waste_planks) + { + return Items.coal; + } + if(this == ModBlocks.frozen_dirt) + { + return Items.snowball; + } + if(this == ModBlocks.frozen_planks) + { + return Items.snowball; + } + + return Item.getItemFromBlock(this); + } + + public int quantityDropped(Random p_149745_1_) + { + if(this == ModBlocks.ore_fluorite) + { + return 2 + p_149745_1_.nextInt(3); + } + if(this == ModBlocks.ore_niter) + { + return 2 + p_149745_1_.nextInt(3); + } + if(this == ModBlocks.ore_sulfur) + { + return 2 + p_149745_1_.nextInt(3); + } + + return 1; + } + + public int damageDropped(int p_149692_1_) + { + return this == ModBlocks.waste_planks ? 1 : 0; + } + + public void onEntityWalking(World p_149724_1_, int p_149724_2_, int p_149724_3_, int p_149724_4_, Entity entity) + { + if (entity instanceof EntityLivingBase && this == ModBlocks.frozen_dirt) + { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2 * 60 * 20, 2)); + } + if (entity instanceof EntityLivingBase && this == ModBlocks.block_trinitite) + { + if(entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer)entity)) + { + Library.damageSuit(((EntityPlayer)entity), 0); + Library.damageSuit(((EntityPlayer)entity), 1); + Library.damageSuit(((EntityPlayer)entity), 2); + Library.damageSuit(((EntityPlayer)entity), 3); + + } else if(entity instanceof EntityCreeper) { + EntityNuclearCreeper creep = new EntityNuclearCreeper(p_149724_1_); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + creep.setRotationYawHead(((EntityCreeper)entity).rotationYawHead); + entity.setDead(); + if(!p_149724_1_.isRemote) + p_149724_1_.spawnEntityInWorld(creep); + } else { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 3 * 60 * 20, 2)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.id, 30 * 20, 0)); + } + } + if (entity instanceof EntityLivingBase && this == ModBlocks.block_waste) + { + if(entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer)entity)) + { + Library.damageSuit(((EntityPlayer)entity), 0); + Library.damageSuit(((EntityPlayer)entity), 1); + Library.damageSuit(((EntityPlayer)entity), 2); + Library.damageSuit(((EntityPlayer)entity), 3); + + } else if(entity instanceof EntityCreeper) { + EntityNuclearCreeper creep = new EntityNuclearCreeper(p_149724_1_); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + creep.setRotationYawHead(((EntityCreeper)entity).rotationYawHead); + if(!entity.isDead) + if(!p_149724_1_.isRemote) + p_149724_1_.spawnEntityInWorld(creep); + entity.setDead(); + } else if(!(entity instanceof EntityNuclearCreeper)) { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 10 * 60 * 20, 4)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 4 * 60 * 20, 2)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.id, 3 * 60 * 20, 2)); + } + } + if (entity instanceof EntityLivingBase && (this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red)) + { + if(entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer)entity)) + { + Library.damageSuit(((EntityPlayer)entity), 0); + Library.damageSuit(((EntityPlayer)entity), 1); + Library.damageSuit(((EntityPlayer)entity), 2); + Library.damageSuit(((EntityPlayer)entity), 3); + + } else if(entity instanceof EntityCreeper) { + EntityNuclearCreeper creep = new EntityNuclearCreeper(p_149724_1_); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + creep.setRotationYawHead(((EntityCreeper)entity).rotationYawHead); + if(!entity.isDead) + if(!p_149724_1_.isRemote) + p_149724_1_.spawnEntityInWorld(creep); + entity.setDead(); + } else if(!(entity instanceof EntityNuclearCreeper)) { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 30 * 20, 1)); + } + } + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int p_149734_2_, int p_149734_3_, int p_149734_4_, Random p_149734_5_) + { + super.randomDisplayTick(p_149734_1_, p_149734_2_, p_149734_3_, p_149734_4_, p_149734_5_); + + if (this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red || this == ModBlocks.block_trinitite || this == ModBlocks.block_waste) + { + p_149734_1_.spawnParticle("townaura", (double)((float)p_149734_2_ + p_149734_5_.nextFloat()), (double)((float)p_149734_3_ + 1.1F), (double)((float)p_149734_4_ + p_149734_5_.nextFloat()), 0.0D, 0.0D, 0.0D); + } + } + +} diff --git a/com/hbm/blocks/BombFlameWar.java b/com/hbm/blocks/BombFlameWar.java new file mode 100644 index 000000000..2d120838d --- /dev/null +++ b/com/hbm/blocks/BombFlameWar.java @@ -0,0 +1,28 @@ +package com.hbm.blocks; + +import com.hbm.explosion.ExplosionChaos; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.world.World; + +public class BombFlameWar extends Block { + + public World worldObj; + + protected BombFlameWar(Material p_i45394_1_) { + super(p_i45394_1_); + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + this.worldObj = p_149695_1_; + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + ExplosionChaos.explode(p_149695_1_, x, y, z, 15); + ExplosionChaos.spawnExplosion(p_149695_1_, x, y, z, 75); + ExplosionChaos.flameDeath(p_149695_1_, x, y, z, 100); + } + } + +} diff --git a/com/hbm/blocks/BombFloat.java b/com/hbm/blocks/BombFloat.java new file mode 100644 index 000000000..2553268d6 --- /dev/null +++ b/com/hbm/blocks/BombFloat.java @@ -0,0 +1,48 @@ +package com.hbm.blocks; + +import com.hbm.explosion.ExplosionChaos; +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BombFloat extends Block { + + public World worldObj; + + @SideOnly(Side.CLIENT) + private IIcon iconTop; + + protected BombFloat(Material p_i45394_1_) { + super(p_i45394_1_); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":bomb_float_top"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":bomb_float"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + this.worldObj = p_149695_1_; + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + p_149695_1_.setBlock(x, y, z, Blocks.air); + ExplosionChaos.floater(p_149695_1_, x, y, z, 15, 50); + ExplosionChaos.move(p_149695_1_, x, y, z, 15, 0, 50, 0); + } + } + +} diff --git a/com/hbm/blocks/BombMulti.java b/com/hbm/blocks/BombMulti.java new file mode 100644 index 000000000..dc303d5cf --- /dev/null +++ b/com/hbm/blocks/BombMulti.java @@ -0,0 +1,305 @@ +package com.hbm.blocks; + +import java.util.HashMap; +import java.util.Map; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityFallingBlock; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +import com.hbm.explosion.ExplosionChaos; +import com.hbm.explosion.ExplosionNukeGeneric; +import com.hbm.items.ModItems; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; + +public class BombMulti extends BlockContainer { + + public TileEntityBombMulti tetn = new TileEntityBombMulti(); + + public final float explosionBaseValue = 8.0F; + public float explosionValue = 0.0F; + public int clusterCount = 0; + public int fireRadius = 0; + public int poisonRadius = 0; + public int gasCloud = 0; + + private final Random field_149933_a = new Random(); + private static boolean keepInventory = false; + private Map field_77288_k = new HashMap(); + + protected BombMulti(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityBombMulti(); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.bomb_multi); + } + + 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) + { + TileEntityBombMulti tileentityfurnace = (TileEntityBombMulti)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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()) + { + TileEntityBombMulti entity = (TileEntityBombMulti) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_bomb_multi, world, x, y, z); + } + return true; + } else { + return false; + } + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + TileEntityBombMulti entity = (TileEntityBombMulti) p_149695_1_.getTileEntity(x, y, z); + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + if(/*entity.getExplosionType() != 0*/entity.isLoaded()) + { + this.onBlockDestroyedByPlayer(p_149695_1_, x, y, z, 1); + igniteTestBomb(p_149695_1_, x, y, z); + } + } + } + + public boolean igniteTestBomb(World world, int x, int y, int z) + { + TileEntityBombMulti entity = (TileEntityBombMulti) world.getTileEntity(x, y, z); + if (!world.isRemote) + { + //world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0); + //world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); + + /*switch(entity.getExplosionType()) + { + case 1: + entity.clearSlots(); + world.setBlockToAir(x, y, z); + world.createExplosion(null, x , y , z , 18.0F, true); + break; + case 2: + entity.clearSlots(); + world.setBlockToAir(x, y, z); + world.createExplosion(null, x , y , z , 34.0F, true); + break; + case 3: + entity.clearSlots(); + world.setBlockToAir(x, y, z); + world.createExplosion(null, x , y , z , 8.0F, true); + ExplosionChaos.cluster(world, x, y, z, 100, 1); + break; + case 4: + entity.clearSlots(); + world.setBlockToAir(x, y, z); + world.createExplosion(null, x , y , z , 3.0F, true); + ExplosionChaos.burn(world, x, y, z, 20); + break; + case 5: + entity.clearSlots(); + world.setBlockToAir(x, y, z); + world.createExplosion(null, x , y , z , 3.0F, true); + ExplosionNukeGeneric.waste(world, x, y, z, 30); + break; + case 6: + entity.clearSlots(); + world.setBlockToAir(x, y, z); + world.createExplosion(null, x , y , z , 3.0F, true); + ExplosionChaos.poison(world, x, y, z, 25); + break; + }*/ + if(entity.isLoaded()) + { + this.explosionValue = this.explosionBaseValue; + switch(entity.return2type()) + { + case 1: + this.explosionValue += 1.0F; + break; + case 2: + this.explosionValue += 4.0F; + break; + case 3: + this.clusterCount += 50; + break; + case 4: + this.fireRadius += 10; + break; + case 5: + this.poisonRadius += 15; + break; + case 6: + this.gasCloud += 15; + } + switch(entity.return5type()) + { + case 1: + this.explosionValue += 1.0F; + break; + case 2: + this.explosionValue += 4.0F; + break; + case 3: + this.clusterCount += 50; + break; + case 4: + this.fireRadius += 10; + break; + case 5: + this.poisonRadius += 15; + break; + case 6: + this.gasCloud += 15; + } + + entity.clearSlots(); + world.setBlockToAir(x, y, z); + world.createExplosion(null, x , y , z , this.explosionValue, true); + this.explosionValue = 0; + + if(this.clusterCount > 0) + { + ExplosionChaos.cluster(world, x, y, z, this.clusterCount, 1); + } + + if(this.fireRadius > 0) + { + ExplosionChaos.burn(world, x, y, z, this.fireRadius); + } + + if(this.poisonRadius > 0) + { + ExplosionNukeGeneric.waste(world, x, y, z, this.poisonRadius); + } + + if(this.gasCloud > 0) + { + ExplosionChaos.poison(world, x, y, z, this.gasCloud); + } + + this.clusterCount = 0; + this.fireRadius = 0; + this.poisonRadius = 0; + this.gasCloud = 0; + + + } + } + return false; + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + } + + public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) + { + float f = 0.0625F; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 8*f, 1.0F); + } + +} \ No newline at end of file diff --git a/com/hbm/blocks/BombThermo.java b/com/hbm/blocks/BombThermo.java new file mode 100644 index 000000000..c6b1357ef --- /dev/null +++ b/com/hbm/blocks/BombThermo.java @@ -0,0 +1,73 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.explosion.ExplosionChaos; +import com.hbm.explosion.ExplosionThermo; +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BombThermo extends Block { + + private World worldObj; + + @SideOnly(Side.CLIENT) + private IIcon iconTop; + + protected BombThermo(Material p_i45394_1_) { + super(p_i45394_1_); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":therm_top"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + (this == ModBlocks.therm_exo ? ":therm_exo" : ":therm_endo")); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + if(this == ModBlocks.therm_endo) + { + return Item.getItemFromBlock(ModBlocks.therm_endo); + } + + return Item.getItemFromBlock(ModBlocks.therm_exo); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + this.worldObj = p_149695_1_; + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + p_149695_1_.setBlock(x, y, z, Blocks.air); + if(this == ModBlocks.therm_endo) + { + ExplosionThermo.freeze(p_149695_1_, x, y, z, 15); + ExplosionThermo.freezer(p_149695_1_, x, y, z, 20); + } + + if(this == ModBlocks.therm_exo) + { + ExplosionThermo.scorch(p_149695_1_, x, y, z, 15); + ExplosionThermo.setEntitiesOnFire(p_149695_1_, x, y, z, 20); + } + + p_149695_1_.createExplosion(null, x, y, z, 5.0F, true); + } + } + +} diff --git a/com/hbm/blocks/DecoBlock.java b/com/hbm/blocks/DecoBlock.java new file mode 100644 index 000000000..d4d3ca913 --- /dev/null +++ b/com/hbm/blocks/DecoBlock.java @@ -0,0 +1,124 @@ +package com.hbm.blocks; + +import java.util.List; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class DecoBlock extends BlockContainer { + + protected DecoBlock(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityDecoBlock(); + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + } + + public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) + { + int te = p_149719_1_.getBlockMetadata(p_149719_2_, p_149719_3_, p_149719_4_); + float f = 0.0625F; + + if(this == ModBlocks.steel_wall) + { + switch(te) + { + case 4: + this.setBlockBounds(14*f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + break; + case 2: + this.setBlockBounds(0.0F, 0.0F, 14*f, 1.0F, 1.0F, 1.0F); + break; + case 5: + this.setBlockBounds(0.0F, 0.0F, 0.0F, 2*f, 1.0F, 1.0F); + break; + case 3: + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2*f); + break; + } + } + + if(this == ModBlocks.steel_corner) + { + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + } + + if(this == ModBlocks.steel_roof) + { + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1*f, 1.0F); + } + + if(this == ModBlocks.steel_beam) + { + this.setBlockBounds(7*f, 0.0F, 7*f, 9*f, 1.0F, 9*f); + } + + if(this == ModBlocks.steel_scaffold) + { + this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); + switch(te) + { + case 4: + this.setBlockBounds(2*f, 0.0F, 0.0F, 14*f, 1.0F, 1.0F); + break; + case 2: + this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); + break; + case 5: + this.setBlockBounds(2*f, 0.0F, 0.0F, 14*f, 1.0F, 1.0F); + break; + case 3: + this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); + break; + } + } + + //this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + } + +} diff --git a/com/hbm/blocks/DecoBlockAlt.java b/com/hbm/blocks/DecoBlockAlt.java new file mode 100644 index 000000000..22f4bf27b --- /dev/null +++ b/com/hbm/blocks/DecoBlockAlt.java @@ -0,0 +1,157 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class DecoBlockAlt extends BlockContainer { + + protected DecoBlockAlt(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.blockIcon = iconRegister.registerIcon("stone"); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + if(this == ModBlocks.statue_elb) + return new TileEntityDecoBlockAlt(); + if(this == ModBlocks.statue_elb_g) + return new TileEntityDecoBlockAltG(); + if(this == ModBlocks.statue_elb_w) + return new TileEntityDecoBlockAltW(); + if(this == ModBlocks.statue_elb_f) + return new TileEntityDecoBlockAltF(); + return null; + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.statue_elb); + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + } + + 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()) + { + if(player.getCurrentEquippedItem() != null) + { + if(this == ModBlocks.statue_elb) + { + if(player.getCurrentEquippedItem().getItem() == ModItems.gun_revolver_cursed) + { + world.setBlock(x, y, z, ModBlocks.statue_elb_g, world.getBlockMetadata(x, y, z), 2); + + if (!player.capabilities.isCreativeMode) + { + --player.getCurrentEquippedItem().stackSize; + } + return true; + } + + if(player.getCurrentEquippedItem().getItem() == ModItems.watch) + { + world.setBlock(x, y, z, ModBlocks.statue_elb_w, world.getBlockMetadata(x, y, z), 2); + + if (!player.capabilities.isCreativeMode) + { + --player.getCurrentEquippedItem().stackSize; + } + return true; + } + } + if(this == ModBlocks.statue_elb_g) + { + if(player.getCurrentEquippedItem().getItem() == ModItems.watch) + { + world.setBlock(x, y, z, ModBlocks.statue_elb_f, world.getBlockMetadata(x, y, z), 2); + + if (!player.capabilities.isCreativeMode) + { + --player.getCurrentEquippedItem().stackSize; + } + return true; + } + } + if(this == ModBlocks.statue_elb_w) + { + if(player.getCurrentEquippedItem().getItem() == ModItems.gun_revolver_cursed) + { + world.setBlock(x, y, z, ModBlocks.statue_elb_f, world.getBlockMetadata(x, y, z), 2); + + if (!player.capabilities.isCreativeMode) + { + --player.getCurrentEquippedItem().stackSize; + } + return true; + } + } + } + } + return false; + } + + public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) + { + float f = 0.0625F; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 8*f, 1.0F); + } + +} diff --git a/com/hbm/blocks/DecoPoleSatelliteReceiver.java b/com/hbm/blocks/DecoPoleSatelliteReceiver.java new file mode 100644 index 000000000..e62d3e7b2 --- /dev/null +++ b/com/hbm/blocks/DecoPoleSatelliteReceiver.java @@ -0,0 +1,56 @@ +package com.hbm.blocks; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class DecoPoleSatelliteReceiver extends BlockContainer { + + protected DecoPoleSatelliteReceiver(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityDecoPoleSatelliteReceiver(); + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + } + +} diff --git a/com/hbm/blocks/DecoPoleTop.java b/com/hbm/blocks/DecoPoleTop.java new file mode 100644 index 000000000..c130c4ffc --- /dev/null +++ b/com/hbm/blocks/DecoPoleTop.java @@ -0,0 +1,56 @@ +package com.hbm.blocks; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class DecoPoleTop extends BlockContainer { + + protected DecoPoleTop(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityDecoPoleTop(); + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + } + +} diff --git a/com/hbm/blocks/DecoSteelPoles.java b/com/hbm/blocks/DecoSteelPoles.java new file mode 100644 index 000000000..c23f6c908 --- /dev/null +++ b/com/hbm/blocks/DecoSteelPoles.java @@ -0,0 +1,56 @@ +package com.hbm.blocks; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class DecoSteelPoles extends BlockContainer { + + protected DecoSteelPoles(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityDecoSteelPoles(); + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + } + +} diff --git a/com/hbm/blocks/DecoTapeRecorder.java b/com/hbm/blocks/DecoTapeRecorder.java new file mode 100644 index 000000000..1acfd825c --- /dev/null +++ b/com/hbm/blocks/DecoTapeRecorder.java @@ -0,0 +1,55 @@ +package com.hbm.blocks; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class DecoTapeRecorder extends BlockContainer{ + + protected DecoTapeRecorder(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityDecoTapeRecorder(); + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + } + +} diff --git a/com/hbm/blocks/DetCord.java b/com/hbm/blocks/DetCord.java new file mode 100644 index 000000000..e60770893 --- /dev/null +++ b/com/hbm/blocks/DetCord.java @@ -0,0 +1,38 @@ +package com.hbm.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.item.Item; +import net.minecraft.world.Explosion; +import net.minecraft.world.World; + +public class DetCord extends Block { + + protected DetCord(Material p_i45394_1_) { + super(p_i45394_1_); + } + + public void onBlockDestroyedByExplosion(World p_149723_1_, int p_149723_2_, int p_149723_3_, int p_149723_4_, Explosion p_149723_5_) + { + if (!p_149723_1_.isRemote) + { + p_149723_1_.createExplosion(null, p_149723_2_ + 0.5, p_149723_3_ + 0.5, p_149723_4_ + 0.5, 1.5F, true); + } + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + p_149695_1_.createExplosion(null, x + 0.5, y + 0.5, z + 0.5, 1.5F, true); + } + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return null; + } + +} diff --git a/com/hbm/blocks/Guide.java b/com/hbm/blocks/Guide.java new file mode 100644 index 000000000..de585aa4f --- /dev/null +++ b/com/hbm/blocks/Guide.java @@ -0,0 +1,255 @@ +package com.hbm.blocks; + +import com.hbm.lib.Library; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.nbt.NBTTagString; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class Guide extends Block { + + @SideOnly(Side.CLIENT) + private IIcon iconTop; + private IIcon iconFront; + private IIcon iconBack; + private IIcon iconLeft; + private IIcon iconRight; + + protected Guide(Material p_i45394_1_) { + super(p_i45394_1_); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":guide_bottom"); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":guide_top"); + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":guide_front"); + this.iconBack = iconRegister.registerIcon(RefStrings.MODID + ":guide_back"); + this.iconLeft = iconRegister.registerIcon(RefStrings.MODID + ":guide_side_left"); + this.iconRight = iconRegister.registerIcon(RefStrings.MODID + ":guide_side_right"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + if(metadata == 5) + { + if(side == 0) return blockIcon; + if(side == 1) return iconTop; + if(side == 2) return iconFront; + if(side == 3) return iconBack; + if(side == 4) return iconRight; + if(side == 5) return iconLeft; + } + if(metadata == 3) + { + if(side == 0) return blockIcon; + if(side == 1) return iconTop; + if(side == 2) return iconRight; + if(side == 3) return iconLeft; + if(side == 4) return iconBack; + if(side == 5) return iconFront; + } + if(metadata == 4) + { + if(side == 0) return blockIcon; + if(side == 1) return iconTop; + if(side == 2) return iconBack; + if(side == 3) return iconFront; + if(side == 4) return iconLeft; + if(side == 5) return iconRight; + } + if(metadata == 2) + { + if(side == 0) return blockIcon; + if(side == 1) return iconTop; + if(side == 2) return iconLeft; + if(side == 3) return iconRight; + if(side == 4) return iconFront; + if(side == 5) return iconBack; + } + + if(side == 0) return blockIcon; + if(side == 1) return iconTop; + if(side == 2) return iconRight; + if(side == 3) return iconLeft; + if(side == 4) return iconBack; + if(side == 5) return iconFront; + + return null; + } + + private void setDefaultDirection(World world, int x, int y, int z) { + if(!world.isRemote) + { + Block block1 = world.getBlock(x, y, z - 1); + Block block2 = world.getBlock(x, y, z + 1); + Block block3 = world.getBlock(x - 1, y, z); + Block block4 = world.getBlock(x + 1, y, z); + + byte b0 = 3; + + if(block1.func_149730_j() && !block2.func_149730_j()) + { + b0 = 3; + } + if(block2.func_149730_j() && !block1.func_149730_j()) + { + b0 = 2; + } + if(block3.func_149730_j() && !block4.func_149730_j()) + { + b0 = 5; + } + if(block4.func_149730_j() && !block3.func_149730_j()) + { + b0 = 4; + } + + world.setBlockMetadataWithNotify(x, y, z, b0, 2); + } + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + } + + 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)); + book1.stackTagCompound.setTag("pages", pages1); + player.inventory.addItemStackToInventory(book1); + + ItemStack book2 = new ItemStack(Items.written_book); + book2.stackTagCompound = new NBTTagCompound(); + 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)); + book2.stackTagCompound.setTag("pages", pages2); + player.inventory.addItemStackToInventory(book2); + + ItemStack book3 = new ItemStack(Items.written_book); + book3.stackTagCompound = new NBTTagCompound(); + 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)); + book3.stackTagCompound.setTag("pages", pages3); + player.inventory.addItemStackToInventory(book3); + + ItemStack book4 = new ItemStack(Items.written_book); + book4.stackTagCompound = new NBTTagCompound(); + 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)); + book4.stackTagCompound.setTag("pages", pages4); + player.inventory.addItemStackToInventory(book4); + + ItemStack book5 = new ItemStack(Items.written_book); + book5.stackTagCompound = new NBTTagCompound(); + 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.book41)); + book5.stackTagCompound.setTag("pages", pages5); + player.inventory.addItemStackToInventory(book5); + + return true; + } else { + return false; + } + } + +} diff --git a/com/hbm/blocks/LaunchPad.java b/com/hbm/blocks/LaunchPad.java new file mode 100644 index 000000000..5f7594c35 --- /dev/null +++ b/com/hbm/blocks/LaunchPad.java @@ -0,0 +1,390 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.entity.EntityMissileAntiBallistic; +import com.hbm.entity.EntityMissileBunkerBuster; +import com.hbm.entity.EntityMissileBurst; +import com.hbm.entity.EntityMissileBusterStrong; +import com.hbm.entity.EntityMissileCluster; +import com.hbm.entity.EntityMissileClusterStrong; +import com.hbm.entity.EntityMissileDrill; +import com.hbm.entity.EntityMissileEndo; +import com.hbm.entity.EntityMissileExo; +import com.hbm.entity.EntityMissileGeneric; +import com.hbm.entity.EntityMissileIncendiary; +import com.hbm.entity.EntityMissileIncendiaryStrong; +import com.hbm.entity.EntityMissileInferno; +import com.hbm.entity.EntityMissileMirv; +import com.hbm.entity.EntityMissileNuclear; +import com.hbm.entity.EntityMissileRain; +import com.hbm.entity.EntityMissileStrong; +import com.hbm.entity.EntityNukeCloudSmall; +import com.hbm.entity.EntityNukeExplosionAdvanced; +import com.hbm.entity.EntityTestMissile; +import com.hbm.items.ModItems; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class LaunchPad extends BlockContainer { + + public TileEntityLaunchPad tetn = new TileEntityLaunchPad(); + public static boolean keepInventory = false; + private final static Random field_149933_a = new Random(); + + protected LaunchPad(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityLaunchPad(); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.launch_pad); + } + + 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) + { + TileEntityLaunchPad tileentityfurnace = (TileEntityLaunchPad)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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()) + { + TileEntityLaunchPad entity = (TileEntityLaunchPad) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_launch_pad, world, x, y, z); + } + return true; + } else { + return false; + } + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + TileEntityLaunchPad entity = (TileEntityLaunchPad) p_149695_1_.getTileEntity(x, y, z); + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + if(entity.slots[1] != null && entity.slots[1].getItem() == ModItems.designator && entity.slots[1].stackTagCompound != null) + { + int xCoord = entity.slots[1].stackTagCompound.getInteger("xCoord"); + int zCoord = entity.slots[1].stackTagCompound.getInteger("zCoord"); + + if(xCoord == entity.xCoord && zCoord == entity.zCoord) + { + xCoord += 1; + } + + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_generic && entity.power >= 75000) + { + EntityMissileGeneric missile = new EntityMissileGeneric(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_anti_ballistic && entity.power >= 75000) + { + EntityMissileAntiBallistic missile = new EntityMissileAntiBallistic(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_incendiary && entity.power >= 75000) + { + EntityMissileIncendiary missile = new EntityMissileIncendiary(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_cluster && entity.power >= 75000) + { + EntityMissileCluster missile = new EntityMissileCluster(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_buster && entity.power >= 75000) + { + EntityMissileBunkerBuster missile = new EntityMissileBunkerBuster(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_strong && entity.power >= 75000) + { + EntityMissileStrong missile = new EntityMissileStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_incendiary_strong && entity.power >= 75000) + { + EntityMissileIncendiaryStrong missile = new EntityMissileIncendiaryStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_cluster_strong && entity.power >= 75000) + { + EntityMissileClusterStrong missile = new EntityMissileClusterStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_buster_strong && entity.power >= 75000) + { + EntityMissileBusterStrong missile = new EntityMissileBusterStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_burst && entity.power >= 75000) + { + EntityMissileBurst missile = new EntityMissileBurst(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_inferno && entity.power >= 75000) + { + EntityMissileInferno missile = new EntityMissileInferno(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_rain && entity.power >= 75000) + { + EntityMissileRain missile = new EntityMissileRain(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_drill && entity.power >= 75000) + { + EntityMissileDrill missile = new EntityMissileDrill(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_nuclear && entity.power >= 75000) + { + EntityMissileNuclear missile = new EntityMissileNuclear(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_endo && entity.power >= 75000) + { + EntityMissileEndo missile = new EntityMissileEndo(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_exo && entity.power >= 75000) + { + EntityMissileExo missile = new EntityMissileExo(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_nuclear_cluster && entity.power >= 75000) + { + EntityMissileMirv missile = new EntityMissileMirv(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + + entity.slots[0] = null; + } + } + } + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + } + + public static void updateBlockState(int type, World world, int x, int y, int z) { + int i = world.getBlockMetadata(x, y, z); + TileEntity entity = world.getTileEntity(x, y, z); + keepInventory = true; + + if(type == 1) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_generic); + } else if(type == 2) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_strong); + } else if(type == 3) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_cluster); + } else if(type == 4) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_nuclear); + } else if(type == 5) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_incendiary); + } else if(type == 6) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_buster); + } else if(type == 7) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_incendiary_strong); + } else if(type == 8) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_cluster_strong); + } else if(type == 9) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_buster_strong); + } else if(type == 10) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_burst); + } else if(type == 11) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_inferno); + } else if(type == 12) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_rain); + } else if(type == 13) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_drill); + } else if(type == 14) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_endo); + } else if(type == 15) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_exo); + } else if(type == 16) + { + world.setBlock(x, y, z, ModBlocks.launch_pad_mirv); + } else { + world.setBlock(x, y, z, ModBlocks.launch_pad); + } + + keepInventory = false; + + if(entity != null) { + entity.validate(); + world.setTileEntity(x, y, z, entity); + } + } + + public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) + { + float f = 0.0625F; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); + } + +} diff --git a/com/hbm/blocks/MachineBattery.java b/com/hbm/blocks/MachineBattery.java new file mode 100644 index 000000000..74c3b6156 --- /dev/null +++ b/com/hbm/blocks/MachineBattery.java @@ -0,0 +1,203 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class MachineBattery extends BlockContainer { + + private final Random field_149933_a = new Random(); + private Random rand; + private static boolean keepInventory; + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + + protected MachineBattery(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":battery_front_alt"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":battery_side_alt"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_battery); + } + + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + this.setDefaultDirection(world, x, y, z); + } + + private void setDefaultDirection(World world, int x, int y, int z) { + if(!world.isRemote) + { + Block block1 = world.getBlock(x, y, z - 1); + Block block2 = world.getBlock(x, y, z + 1); + Block block3 = world.getBlock(x - 1, y, z); + Block block4 = world.getBlock(x + 1, y, z); + + byte b0 = 3; + + if(block1.func_149730_j() && !block2.func_149730_j()) + { + b0 = 3; + } + if(block2.func_149730_j() && !block1.func_149730_j()) + { + b0 = 2; + } + if(block3.func_149730_j() && !block4.func_149730_j()) + { + b0 = 5; + } + if(block4.func_149730_j() && !block3.func_149730_j()) + { + b0 = 4; + } + + world.setBlockMetadataWithNotify(x, y, z, b0, 2); + } + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + + if(itemStack.hasDisplayName()) + { + ((TileEntityDiFurnace)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); + } + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityMachineBattery(); + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) p_149695_1_.getTileEntity(x, y, z); + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + entity.conducts = true; + } + else + { + entity.conducts = false; + } + } + + 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()) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_battery, world, x, y, z); + } + return true; + } else { + return false; + } + } + + 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) + { + TileEntityMachineBattery tileentityfurnace = (TileEntityMachineBattery)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + +} diff --git a/com/hbm/blocks/MachineCentrifuge.java b/com/hbm/blocks/MachineCentrifuge.java new file mode 100644 index 000000000..f5f3b1d92 --- /dev/null +++ b/com/hbm/blocks/MachineCentrifuge.java @@ -0,0 +1,149 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class MachineCentrifuge extends BlockContainer { + + private final Random field_149933_a = new Random(); + private static boolean keepInventory; + + protected MachineCentrifuge(Material p_i45386_1_) { + super(p_i45386_1_); + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconregister) { + this.blockIcon = iconregister.registerIcon(RefStrings.MODID + ":machine_centrifuge"); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityMachineCentrifuge(); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_centrifuge); + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + } + + 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) + { + TileEntityMachineCentrifuge tileentityfurnace = (TileEntityMachineCentrifuge)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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()) + { + TileEntityMachineCentrifuge entity = (TileEntityMachineCentrifuge) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_centrifuge, world, x, y, z); + } + return true; + } else { + return false; + } + } +} diff --git a/com/hbm/blocks/MachineCoal.java b/com/hbm/blocks/MachineCoal.java new file mode 100644 index 000000000..62a3233ec --- /dev/null +++ b/com/hbm/blocks/MachineCoal.java @@ -0,0 +1,253 @@ +package com.hbm.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class MachineCoal extends BlockContainer { + + private final Random field_149933_a = new Random(); + private Random rand; + private final boolean isActive; + private static boolean keepInventory; + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + + public MachineCoal(boolean blockState) { + super(Material.iron); + rand = new Random(); + isActive = blockState; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_coal_front_on" : ":machine_coal_front_off")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_coal_side"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + //Reactivate in case of emergency + //return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.iconTop); + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_coal_off); + } + + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + this.setDefaultDirection(world, x, y, z); + } + + private void setDefaultDirection(World world, int x, int y, int z) { + if(!world.isRemote) + { + Block block1 = world.getBlock(x, y, z - 1); + Block block2 = world.getBlock(x, y, z + 1); + Block block3 = world.getBlock(x - 1, y, z); + Block block4 = world.getBlock(x + 1, y, z); + + byte b0 = 3; + + if(block1.func_149730_j() && !block2.func_149730_j()) + { + b0 = 3; + } + if(block2.func_149730_j() && !block1.func_149730_j()) + { + b0 = 2; + } + if(block3.func_149730_j() && !block4.func_149730_j()) + { + b0 = 5; + } + if(block4.func_149730_j() && !block3.func_149730_j()) + { + b0 = 4; + } + + world.setBlockMetadataWithNotify(x, y, z, b0, 2); + } + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + + if(itemStack.hasDisplayName()) + { + ((TileEntityMachineCoal)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); + } + } + + 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()) + { + TileEntityMachineCoal entity = (TileEntityMachineCoal) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_coal, world, x, y, z); + } + return true; + } else { + return false; + } + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityMachineCoal(); + } + + public static void updateBlockState(boolean isProcessing, World world, int x, int y, int z) { + int i = world.getBlockMetadata(x, y, z); + TileEntity entity = world.getTileEntity(x, y, z); + keepInventory = true; + + if(isProcessing) + { + world.setBlock(x, y, z, ModBlocks.machine_coal_on); + }else{ + world.setBlock(x, y, z, ModBlocks.machine_coal_off); + } + + keepInventory = false; + world.setBlockMetadataWithNotify(x, y, z, i, 2); + + if(entity != null) { + entity.validate(); + world.setTileEntity(x, y, z, entity); + } + } + + 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) + { + TileEntityMachineCoal tileentityfurnace = (TileEntityMachineCoal)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) + { + if (isActive) + { + int l = p_149734_1_.getBlockMetadata(x, y, z); + float f = (float)x + 0.5F; + float f1 = (float)y + 0.0F + rand.nextFloat() * 6.0F / 16.0F; + float f2 = (float)z + 0.5F; + float f3 = 0.52F; + float f4 = rand.nextFloat() * 0.6F - 0.3F; + float f5 = rand.nextFloat(); + float f6 = rand.nextFloat(); + + if (l == 4) + { + p_149734_1_.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + } + else if (l == 5) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + } + else if (l == 2) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); + } + else if (l == 3) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); + } + } + } +} diff --git a/com/hbm/blocks/MachineDeuterium.java b/com/hbm/blocks/MachineDeuterium.java new file mode 100644 index 000000000..7b97e763e --- /dev/null +++ b/com/hbm/blocks/MachineDeuterium.java @@ -0,0 +1,140 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class MachineDeuterium extends BlockContainer { + + private final Random field_149933_a = new Random(); + private Random rand; + private static boolean keepInventory; + + @SideOnly(Side.CLIENT) + private IIcon iconTop; + + protected MachineDeuterium(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_deuterium_side"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_deuterium_front"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityMachineDeuterium(); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_deuterium); + } + + 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()) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_deuterium, world, x, y, z); + } + return true; + } else { + return false; + } + } + + 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) + { + TileEntityMachineDeuterium tileentityfurnace = (TileEntityMachineDeuterium)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) + { + if (((TileEntityMachineDeuterium) p_149734_1_.getTileEntity(x, y, z)).isProcessing()) + { + int l = p_149734_1_.getBlockMetadata(x, y, z); + float f = (float)x + 0.5F; + float f1 = (float)y + 1.0F; + float f2 = (float)z + 0.5F; + + p_149734_1_.spawnParticle("cloud", f, f1, f2, 0.0D, 0.1D, 0.0D); + } + } + +} diff --git a/com/hbm/blocks/MachineDiFurnace.java b/com/hbm/blocks/MachineDiFurnace.java new file mode 100644 index 000000000..997e53772 --- /dev/null +++ b/com/hbm/blocks/MachineDiFurnace.java @@ -0,0 +1,261 @@ +package com.hbm.blocks; + +import java.util.List; +import java.util.Random; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.tileentity.TileEntityFurnace; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class MachineDiFurnace extends BlockContainer { + + private final Random field_149933_a = new Random(); + private Random rand; + private final boolean isActive; + private static boolean keepInventory; + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + private IIcon iconTop; + + public MachineDiFurnace(boolean blockState) { + super(Material.iron); + rand = new Random(); + isActive = blockState; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":test_difurnace_top_on" : ":test_difurnace_top_off")); + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":test_difurnace_front_on" : ":test_difurnace_front_off")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":test_difurnace_side"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + //Reactivate in case of emergency + //return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.iconTop); + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : (side == 1 ? this.iconTop : this.blockIcon)); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_difurnace_off); + } + + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + this.setDefaultDirection(world, x, y, z); + } + + private void setDefaultDirection(World world, int x, int y, int z) { + if(!world.isRemote) + { + Block block1 = world.getBlock(x, y, z - 1); + Block block2 = world.getBlock(x, y, z + 1); + Block block3 = world.getBlock(x - 1, y, z); + Block block4 = world.getBlock(x + 1, y, z); + + byte b0 = 3; + + if(block1.func_149730_j() && !block2.func_149730_j()) + { + b0 = 3; + } + if(block2.func_149730_j() && !block1.func_149730_j()) + { + b0 = 2; + } + if(block3.func_149730_j() && !block4.func_149730_j()) + { + b0 = 5; + } + if(block4.func_149730_j() && !block3.func_149730_j()) + { + b0 = 4; + } + + world.setBlockMetadataWithNotify(x, y, z, b0, 2); + } + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + + if(itemStack.hasDisplayName()) + { + ((TileEntityDiFurnace)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); + } + } + + 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()) + { + TileEntityDiFurnace entity = (TileEntityDiFurnace) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_test_difurnace, world, x, y, z); + } + return true; + } else { + return false; + } + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityDiFurnace(); + } + + public static void updateBlockState(boolean isProcessing, World world, int x, int y, int z) { + int i = world.getBlockMetadata(x, y, z); + TileEntity entity = world.getTileEntity(x, y, z); + keepInventory = true; + + if(isProcessing) + { + world.setBlock(x, y, z, ModBlocks.machine_difurnace_on); + }else{ + world.setBlock(x, y, z, ModBlocks.machine_difurnace_off); + } + + keepInventory = false; + world.setBlockMetadataWithNotify(x, y, z, i, 2); + + if(entity != null) { + entity.validate(); + world.setTileEntity(x, y, z, entity); + } + } + + 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) + { + TileEntityDiFurnace tileentityfurnace = (TileEntityDiFurnace)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) + { + if (isActive) + { + int l = p_149734_1_.getBlockMetadata(x, y, z); + float f = (float)x + 0.5F; + float f1 = (float)y + 0.0F + rand.nextFloat() * 6.0F / 16.0F; + float f2 = (float)z + 0.5F; + float f3 = 0.52F; + float f4 = rand.nextFloat() * 0.6F - 0.3F; + float f5 = rand.nextFloat(); + float f6 = rand.nextFloat(); + + if (l == 4) + { + p_149734_1_.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + //p_149734_1_.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("reddust", (double)(x + f5), (double)f1 + 1, (double)(z + f6), 0.0D, 0.0D, 0.0D); + } + else if (l == 5) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + //p_149734_1_.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("reddust", (double)(x + f5), (double)f1 + 1, (double)(z + f6), 0.0D, 0.0D, 0.0D); + } + else if (l == 2) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); + //p_149734_1_.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D) + p_149734_1_.spawnParticle("reddust", (double)(x + f5), (double)f1 + 1, (double)(z + f6), 0.0D, 0.0D, 0.0D); + } + else if (l == 3) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); + //p_149734_1_.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("reddust", (double)(x + f5), (double)f1 + 1, (double)(z + f6), 0.0D, 0.0D, 0.0D); + } + } + } +} diff --git a/com/hbm/blocks/MachineElectricFurnace.java b/com/hbm/blocks/MachineElectricFurnace.java new file mode 100644 index 000000000..e4243af58 --- /dev/null +++ b/com/hbm/blocks/MachineElectricFurnace.java @@ -0,0 +1,252 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class MachineElectricFurnace extends BlockContainer { + + private final Random field_149933_a = new Random(); + private Random rand; + private final boolean isActive; + private static boolean keepInventory; + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + + public MachineElectricFurnace(boolean blockState) { + super(Material.iron); + rand = new Random(); + isActive = blockState; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_electric_furnace_front_on" : ":machine_electric_furnace_front_off")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_electric_furnace"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + //Reactivate in case of emergency + //return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.iconTop); + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off); + } + + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + this.setDefaultDirection(world, x, y, z); + } + + private void setDefaultDirection(World world, int x, int y, int z) { + if(!world.isRemote) + { + Block block1 = world.getBlock(x, y, z - 1); + Block block2 = world.getBlock(x, y, z + 1); + Block block3 = world.getBlock(x - 1, y, z); + Block block4 = world.getBlock(x + 1, y, z); + + byte b0 = 3; + + if(block1.func_149730_j() && !block2.func_149730_j()) + { + b0 = 3; + } + if(block2.func_149730_j() && !block1.func_149730_j()) + { + b0 = 2; + } + if(block3.func_149730_j() && !block4.func_149730_j()) + { + b0 = 5; + } + if(block4.func_149730_j() && !block3.func_149730_j()) + { + b0 = 4; + } + + world.setBlockMetadataWithNotify(x, y, z, b0, 2); + } + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + + if(itemStack.hasDisplayName()) + { + ((TileEntityMachineElectricFurnace)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); + } + } + + 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()) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_electric_furnace, world, x, y, z); + } + return true; + } else { + return false; + } + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityMachineElectricFurnace(); + } + + public static void updateBlockState(boolean isProcessing, World world, int x, int y, int z) { + int i = world.getBlockMetadata(x, y, z); + TileEntity entity = world.getTileEntity(x, y, z); + keepInventory = true; + + if(isProcessing) + { + world.setBlock(x, y, z, ModBlocks.machine_electric_furnace_on); + }else{ + world.setBlock(x, y, z, ModBlocks.machine_electric_furnace_off); + } + + keepInventory = false; + world.setBlockMetadataWithNotify(x, y, z, i, 2); + + if(entity != null) { + entity.validate(); + world.setTileEntity(x, y, z, entity); + } + } + + 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) + { + TileEntityMachineElectricFurnace tileentityfurnace = (TileEntityMachineElectricFurnace)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) + { + if (isActive) + { + int l = p_149734_1_.getBlockMetadata(x, y, z); + float f = (float)x + 0.5F; + float f1 = (float)y + 0.0F + rand.nextFloat() * 6.0F / 16.0F; + float f2 = (float)z + 0.5F; + float f3 = 0.52F; + float f4 = rand.nextFloat() * 0.6F - 0.3F; + float f5 = rand.nextFloat(); + float f6 = rand.nextFloat(); + + if (l == 4) + { + p_149734_1_.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + } + else if (l == 5) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + } + else if (l == 2) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); + } + else if (l == 3) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); + } + } + } +} diff --git a/com/hbm/blocks/MachineGenerator.java b/com/hbm/blocks/MachineGenerator.java new file mode 100644 index 000000000..f31841b5a --- /dev/null +++ b/com/hbm/blocks/MachineGenerator.java @@ -0,0 +1,150 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.explosion.ExplosionNukeGeneric; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.item.EntityTNTPrimed; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.Explosion; +import net.minecraft.world.World; + +public class MachineGenerator extends BlockContainer { + + private final Random field_149933_a = new Random(); + private Random rand; + private static boolean keepInventory; + public int heat = 0; + + public boolean isLoaded = false; + + @SideOnly(Side.CLIENT) + private IIcon iconSide; + + protected MachineGenerator(Material p_i45386_1_) { + super(p_i45386_1_); + rand = new Random(); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconSide = iconRegister.registerIcon(RefStrings.MODID + ":machine_generator_side"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_generator"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 0 ? blockIcon : (side == 1 ? blockIcon : iconSide); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_generator); + } + + 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()) + { + TileEntityMachineGenerator entity = (TileEntityMachineGenerator) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_generator, world, x, y, z); + } + return true; + } else { + return false; + } + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityMachineGenerator(); + } + + 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) + { + TileEntityMachineGenerator tileentityfurnace = (TileEntityMachineGenerator)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + public void onBlockDestroyedByExplosion(World p_149723_1_, int p_149723_2_, int p_149723_3_, int p_149723_4_, Explosion p_149723_5_) + { + if (!p_149723_1_.isRemote) + { + TileEntityMachineGenerator entity = (TileEntityMachineGenerator) p_149723_1_.getTileEntity(p_149723_2_, p_149723_3_, p_149723_4_); + if(this.isLoaded) + { + p_149723_1_.createExplosion(null, p_149723_2_, p_149723_3_, p_149723_4_, 18.0F, true); + ExplosionNukeGeneric.waste(p_149723_1_, p_149723_2_, p_149723_3_, p_149723_4_, 35); + p_149723_1_.setBlock(p_149723_2_, p_149723_3_, p_149723_4_, Blocks.flowing_lava); + } + } + } + +} diff --git a/com/hbm/blocks/MachineNukeFurnace.java b/com/hbm/blocks/MachineNukeFurnace.java new file mode 100644 index 000000000..eb54f463a --- /dev/null +++ b/com/hbm/blocks/MachineNukeFurnace.java @@ -0,0 +1,251 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class MachineNukeFurnace extends BlockContainer { + + private final Random field_149933_a = new Random(); + private Random rand; + private final boolean isActive; + private static boolean keepInventory; + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + + public MachineNukeFurnace(boolean blockState) { + super(Material.iron); + rand = new Random(); + isActive = blockState; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_nuke_furnace_front_on" : ":machine_nuke_furnace_front_off")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":block_steel"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off); + } + + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + this.setDefaultDirection(world, x, y, z); + } + + private void setDefaultDirection(World world, int x, int y, int z) { + if(!world.isRemote) + { + Block block1 = world.getBlock(x, y, z - 1); + Block block2 = world.getBlock(x, y, z + 1); + Block block3 = world.getBlock(x - 1, y, z); + Block block4 = world.getBlock(x + 1, y, z); + + byte b0 = 3; + + if(block1.func_149730_j() && !block2.func_149730_j()) + { + b0 = 3; + } + if(block2.func_149730_j() && !block1.func_149730_j()) + { + b0 = 2; + } + if(block3.func_149730_j() && !block4.func_149730_j()) + { + b0 = 5; + } + if(block4.func_149730_j() && !block3.func_149730_j()) + { + b0 = 4; + } + + world.setBlockMetadataWithNotify(x, y, z, b0, 2); + } + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + + if(itemStack.hasDisplayName()) + { + ((TileEntityNukeFurnace)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); + } + } + + 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()) + { + TileEntityNukeFurnace entity = (TileEntityNukeFurnace) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_nuke_furnace, world, x, y, z); + } + return true; + } else { + return false; + } + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityNukeFurnace(); + } + + public static void updateBlockState(boolean isProcessing, World world, int x, int y, int z) { + int i = world.getBlockMetadata(x, y, z); + TileEntity entity = world.getTileEntity(x, y, z); + keepInventory = true; + + if(isProcessing) + { + world.setBlock(x, y, z, ModBlocks.machine_nuke_furnace_on); + }else{ + world.setBlock(x, y, z, ModBlocks.machine_nuke_furnace_off); + } + + keepInventory = false; + world.setBlockMetadataWithNotify(x, y, z, i, 2); + + if(entity != null) { + entity.validate(); + world.setTileEntity(x, y, z, entity); + } + } + + 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) + { + TileEntityNukeFurnace tileentityfurnace = (TileEntityNukeFurnace)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) + { + if (isActive) + { + int l = p_149734_1_.getBlockMetadata(x, y, z); + float f = (float)x + 0.5F; + float f1 = (float)y + 0.0F + rand.nextFloat() * 6.0F / 16.0F; + float f2 = (float)z + 0.5F; + float f3 = 0.52F; + float f4 = rand.nextFloat() * 0.6F - 0.3F; + float f5 = rand.nextFloat(); + float f6 = rand.nextFloat(); + + if (l == 4) + { + p_149734_1_.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + } + else if (l == 5) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + } + else if (l == 2) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); + } + else if (l == 3) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); + } + } + } + +} diff --git a/com/hbm/blocks/MachinePuF6Tank.java b/com/hbm/blocks/MachinePuF6Tank.java new file mode 100644 index 000000000..221624b57 --- /dev/null +++ b/com/hbm/blocks/MachinePuF6Tank.java @@ -0,0 +1,150 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class MachinePuF6Tank extends BlockContainer { + + private final Random field_149933_a = new Random(); + private static boolean keepInventory; + + protected MachinePuF6Tank(Material p_i45386_1_) { + super(p_i45386_1_); + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconregister) { + this.blockIcon = iconregister.registerIcon(RefStrings.MODID + ":machine_puf6_tank"); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityMachinePuF6Tank(); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_puf6_tank); + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + } + + 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) + { + TileEntityMachinePuF6Tank tileentityfurnace = (TileEntityMachinePuF6Tank)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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()) + { + TileEntityMachinePuF6Tank entity = (TileEntityMachinePuF6Tank) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_puf6_tank, world, x, y, z); + } + return true; + } else { + return false; + } + } +} diff --git a/com/hbm/blocks/MachineReactor.java b/com/hbm/blocks/MachineReactor.java new file mode 100644 index 000000000..76051a038 --- /dev/null +++ b/com/hbm/blocks/MachineReactor.java @@ -0,0 +1,195 @@ +package com.hbm.blocks; + +import java.util.List; +import java.util.Random; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.tileentity.TileEntityFurnace; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class MachineReactor extends BlockContainer { + + private final Random field_149933_a = new Random(); + private Random rand; + + @SideOnly(Side.CLIENT) + //private IIcon iconFront; + private IIcon iconTop; + private IIcon iconBottom; + + protected MachineReactor(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (":reactor_top")); + //this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (":reactor_front")); + this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + (":block_lead")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":reactor_side"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 1 ? this.iconTop : (side == 0 ? this.iconBottom : this.blockIcon); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_reactor); + } + + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + this.setDefaultDirection(world, x, y, z); + } + + private void setDefaultDirection(World world, int x, int y, int z) { + if(!world.isRemote) + { + Block block1 = world.getBlock(x, y, z - 1); + Block block2 = world.getBlock(x, y, z + 1); + Block block3 = world.getBlock(x - 1, y, z); + Block block4 = world.getBlock(x + 1, y, z); + + byte b0 = 3; + + if(block1.func_149730_j() && !block2.func_149730_j()) + { + b0 = 3; + } + if(block2.func_149730_j() && !block1.func_149730_j()) + { + b0 = 2; + } + if(block3.func_149730_j() && !block4.func_149730_j()) + { + b0 = 5; + } + if(block4.func_149730_j() && !block3.func_149730_j()) + { + b0 = 4; + } + + world.setBlockMetadataWithNotify(x, y, z, b0, 2); + } + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + + if(itemStack.hasDisplayName()) + { + ((TileEntityMachineReactor)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); + } + } + + 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()) + { + TileEntityMachineReactor entity = (TileEntityMachineReactor) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_reactor, world, x, y, z); + } + return true; + } else { + return false; + } + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityMachineReactor(); + } + + 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 (true) + { + TileEntityMachineReactor tileentityfurnace = (TileEntityMachineReactor)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } +} diff --git a/com/hbm/blocks/MachineRtgFurnace.java b/com/hbm/blocks/MachineRtgFurnace.java new file mode 100644 index 000000000..c4e2c55a7 --- /dev/null +++ b/com/hbm/blocks/MachineRtgFurnace.java @@ -0,0 +1,251 @@ +package com.hbm.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class MachineRtgFurnace extends BlockContainer { + + private final Random field_149933_a = new Random(); + private Random rand; + private final boolean isActive; + private static boolean keepInventory; + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + + public MachineRtgFurnace(boolean blockState) { + super(Material.iron); + rand = new Random(); + isActive = blockState; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_rtg_furnace_on" : ":machine_rtg_furnace_off")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":block_tungsten"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_rtg_furnace_off); + } + + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + this.setDefaultDirection(world, x, y, z); + } + + private void setDefaultDirection(World world, int x, int y, int z) { + if(!world.isRemote) + { + Block block1 = world.getBlock(x, y, z - 1); + Block block2 = world.getBlock(x, y, z + 1); + Block block3 = world.getBlock(x - 1, y, z); + Block block4 = world.getBlock(x + 1, y, z); + + byte b0 = 3; + + if(block1.func_149730_j() && !block2.func_149730_j()) + { + b0 = 3; + } + if(block2.func_149730_j() && !block1.func_149730_j()) + { + b0 = 2; + } + if(block3.func_149730_j() && !block4.func_149730_j()) + { + b0 = 5; + } + if(block4.func_149730_j() && !block3.func_149730_j()) + { + b0 = 4; + } + + world.setBlockMetadataWithNotify(x, y, z, b0, 2); + } + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + + if(itemStack.hasDisplayName()) + { + ((TileEntityRtgFurnace)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); + } + } + + 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()) + { + TileEntityRtgFurnace entity = (TileEntityRtgFurnace) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_rtg_furnace, world, x, y, z); + } + return true; + } else { + return false; + } + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityRtgFurnace(); + } + + public static void updateBlockState(boolean isProcessing, World world, int x, int y, int z) { + int i = world.getBlockMetadata(x, y, z); + TileEntity entity = world.getTileEntity(x, y, z); + keepInventory = true; + + if(isProcessing) + { + world.setBlock(x, y, z, ModBlocks.machine_rtg_furnace_on); + }else{ + world.setBlock(x, y, z, ModBlocks.machine_rtg_furnace_off); + } + + keepInventory = false; + world.setBlockMetadataWithNotify(x, y, z, i, 2); + + if(entity != null) { + entity.validate(); + world.setTileEntity(x, y, z, entity); + } + } + + 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) + { + TileEntityRtgFurnace tileentityfurnace = (TileEntityRtgFurnace)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) + { + if (isActive) + { + int l = p_149734_1_.getBlockMetadata(x, y, z); + float f = (float)x + 0.5F; + float f1 = (float)y + 0.0F + rand.nextFloat() * 6.0F / 16.0F; + float f2 = (float)z + 0.5F; + float f3 = 0.52F; + float f4 = rand.nextFloat() * 0.6F - 0.3F; + float f5 = rand.nextFloat(); + float f6 = rand.nextFloat(); + + if (l == 4) + { + p_149734_1_.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + } + else if (l == 5) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); + } + else if (l == 2) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); + } + else if (l == 3) + { + p_149734_1_.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); + } + } + } +} diff --git a/com/hbm/blocks/MachineUF6Tank.java b/com/hbm/blocks/MachineUF6Tank.java new file mode 100644 index 000000000..b4a181a2a --- /dev/null +++ b/com/hbm/blocks/MachineUF6Tank.java @@ -0,0 +1,150 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class MachineUF6Tank extends BlockContainer { + + private final Random field_149933_a = new Random(); + private static boolean keepInventory; + + protected MachineUF6Tank(Material p_i45386_1_) { + super(p_i45386_1_); + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconregister) { + this.blockIcon = iconregister.registerIcon(RefStrings.MODID + ":machine_uf6_tank"); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityMachineUF6Tank(); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_uf6_tank); + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + } + + 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) + { + TileEntityMachineUF6Tank tileentityfurnace = (TileEntityMachineUF6Tank)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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()) + { + TileEntityMachineUF6Tank entity = (TileEntityMachineUF6Tank) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_uf6_tank, world, x, y, z); + } + return true; + } else { + return false; + } + } +} diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java new file mode 100644 index 000000000..51e0d3bdc --- /dev/null +++ b/com/hbm/blocks/ModBlocks.java @@ -0,0 +1,503 @@ +package com.hbm.blocks; + +import com.hbm.items.ItemPrototypeBlock; +import com.hbm.items.ItemSchrabidiumBlock; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.block.Block; +import net.minecraft.block.BlockGlass; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class ModBlocks { + + public static void mainRegistry() + { + initializeBlock(); + registerBlock(); + } + + public static Block test_render; + public static Block test_container; + public static Block test_bomb; + public static Block test_bomb_advanced; + public static Block test_nuke; + public static final int guiID_test_nuke = 2; + public static Block event_tester; + public static Block rotation_tester; + public static Block obj_tester; + public static Block test_ticker; + public static Block test_missile; + + public static Block ore_uranium; + public static Block ore_titanium; + public static Block ore_sulfur; + + public static Block ore_niter; + public static Block ore_copper; + public static Block ore_tungsten; + public static Block ore_aluminium; + public static Block ore_fluorite; + public static Block ore_lead; + public static Block ore_schrabidium; + public static Block ore_beryllium; + + public static Block block_uranium; + public static Block block_titanium; + public static Block block_sulfur; + public static Block block_niter; + public static Block block_copper; + public static Block block_red_copper; + public static Block block_tungsten; + public static Block block_aluminium; + public static Block block_fluorite; + public static Block block_steel; + public static Block block_lead; + public static Block block_trinitite; + public static Block block_waste; + public static Block block_beryllium; + public static Block block_schrabidium; + + public static Block reinforced_brick; + public static Block reinforced_glass; + public static Block reinforced_light; + public static Block reinforced_sand; + public static Block reinforced_lamp_off; + public static Block reinforced_lamp_on; + + public static Block brick_concrete; + public static Block brick_obsidian; + public static Block brick_light; + + public static Block tape_recorder; + public static Block steel_poles; + public static Block pole_top; + public static Block pole_satellite_receiver; + public static Block steel_wall; + public static Block steel_corner; + public static Block steel_roof; + public static Block steel_beam; + public static Block steel_scaffold; + + public static Block waste_earth; + public static Block waste_trinitite; + public static Block waste_trinitite_red; + public static Block waste_log; + public static Block waste_planks; + public static Block frozen_dirt; + public static Block frozen_grass; + public static Block frozen_log; + public static Block frozen_planks; + + public static Block flame_war; + public static Block float_bomb; + public static Block therm_endo; + public static Block therm_exo; + public static Block det_cord; + public static Block red_barrel; + public static Block yellow_barrel; + + public static Block nuke_gadget; + public static final int guiID_nuke_gadget = 3; + + public static Block nuke_boy; + public static final int guiID_nuke_boy = 4; + + public static Block nuke_man; + public static final int guiID_nuke_man = 6; + + public static Block nuke_mike; + public static final int guiID_nuke_mike = 11; + + public static Block nuke_tsar; + public static final int guiID_nuke_tsar = 12; + + public static Block nuke_fleija; + public static final int guiID_nuke_fleija = 17; + + public static Block nuke_prototype; + public static final int guiID_nuke_prototype = 23; + + public static Block bomb_multi; + public static final int guiID_bomb_multi = 10; + + public static Block machine_difurnace_off; + public static Block machine_difurnace_on; + public static final int guiID_test_difurnace = 1; + + public static Block machine_centrifuge; + public static final int guiID_centrifuge = 5; + + public static Block machine_uf6_tank; + public static final int guiID_uf6_tank = 7; + + public static Block machine_puf6_tank; + public static final int guiID_puf6_tank = 8; + + public static Block machine_reactor; + public static final int guiID_reactor = 9; + + public static Block machine_nuke_furnace_off; + public static Block machine_nuke_furnace_on; + public static final int guiID_nuke_furnace = 13; + + public static Block machine_rtg_furnace_off; + public static Block machine_rtg_furnace_on; + public static final int guiID_rtg_furnace = 14; + + public static Block machine_generator; + public static final int guiID_machine_generator = 15; + + public static Block machine_electric_furnace_off; + public static Block machine_electric_furnace_on; + public static final int guiID_electric_furnace = 16; + + public static Block machine_deuterium; + public static final int guiID_machine_deuterium = 20; + + public static Block machine_battery; + public static final int guiID_machine_battery = 21; + + public static Block machine_coal_off; + public static Block machine_coal_on; + public static final int guiID_machine_coal = 22; + + public static Block red_wire_coated; + + public static Block bomb_multi_large; + public static final int guiID_bomb_multi_large = 18; + + public static Block launch_pad; + public static Block launch_pad_generic; + public static Block launch_pad_incendiary; + public static Block launch_pad_cluster; + public static Block launch_pad_buster; + public static Block launch_pad_strong; + public static Block launch_pad_incendiary_strong; + public static Block launch_pad_cluster_strong; + public static Block launch_pad_buster_strong; + public static Block launch_pad_burst; + public static Block launch_pad_inferno; + public static Block launch_pad_rain; + public static Block launch_pad_drill; + public static Block launch_pad_nuclear; + public static Block launch_pad_endo; + public static Block launch_pad_exo; + public static Block launch_pad_mirv; + public static final int guiID_launch_pad = 19; + + public static Block book_guide; + + public static Block statue_elb; + public static Block statue_elb_g; + public static Block statue_elb_w; + public static Block statue_elb_f; + + + private static void initializeBlock() { + + test_render = new TestRender(Material.rock).setBlockName("test_render").setCreativeTab(MainRegistry.tabTest); + test_container = new TestContainer(0).setBlockName("test_container").setCreativeTab(MainRegistry.tabTest); + test_bomb = new TestBomb(Material.tnt).setBlockName("test_bomb").setCreativeTab(MainRegistry.tabTest).setBlockTextureName(RefStrings.MODID + ":test_bomb"); + test_bomb_advanced = new TestBombAdvanced(Material.tnt).setBlockName("test_bomb_advanced").setCreativeTab(MainRegistry.tabTest); + + test_nuke = new TestNuke(Material.iron).setBlockName("test_nuke").setCreativeTab(MainRegistry.tabTest).setHardness(2.5F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":test_nuke"); + event_tester = new TestEventTester(Material.iron).setBlockName("event_tester").setCreativeTab(MainRegistry.tabTest).setHardness(2.5F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":event_tester"); + rotation_tester = new TestRotationTester(Material.iron).setBlockName("rotation_tester").setCreativeTab(MainRegistry.tabTest).setHardness(2.5F).setResistance(10.0F); + obj_tester = new TestObjTester(Material.iron).setBlockName("obj_tester").setCreativeTab(MainRegistry.tabTest).setHardness(2.5F).setResistance(10.0F); + + test_ticker = new TestTicker(Material.iron).setBlockName("test_ticker").setCreativeTab(MainRegistry.tabTest).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_ticker"); + + test_missile = new TestMissile(Material.iron).setBlockName("test_missile").setCreativeTab(MainRegistry.tabTest).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_missile"); + + ore_uranium = new BlockGeneric(Material.rock).setBlockName("ore_uranium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium"); + ore_titanium = new BlockGeneric(Material.rock).setBlockName("ore_titanium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_titanium"); + ore_sulfur = new BlockOre(Material.rock).setBlockName("ore_sulfur").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_sulfur"); + + ore_niter = new BlockOre(Material.rock).setBlockName("ore_niter").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_niter"); + ore_copper = new BlockGeneric(Material.rock).setBlockName("ore_copper").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_copper"); + ore_tungsten = new BlockGeneric(Material.rock).setBlockName("ore_tungsten").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_tungsten"); + ore_aluminium = new BlockGeneric(Material.rock).setBlockName("ore_aluminium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_aluminium"); + ore_fluorite = new BlockOre(Material.rock).setBlockName("ore_fluorite").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_fluorite"); + 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"); + + 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_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_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_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"); + + 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"); + reinforced_light = new ReinforcedBlock(Material.rock).setBlockName("reinforced_light").setCreativeTab(MainRegistry.tabBlock).setLightOpacity(15).setLightLevel(1.0F).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_light"); + reinforced_sand = new BlockGeneric(Material.rock).setBlockName("reinforced_sand").setCreativeTab(MainRegistry.tabBlock).setLightOpacity(15).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_sand"); + reinforced_lamp_off = new ReinforcedLamp(Material.rock, false).setBlockName("reinforced_lamp_off").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off"); + reinforced_lamp_on = new ReinforcedLamp(Material.rock, true).setBlockName("reinforced_lamp_on").setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_on"); + + brick_concrete = new BlockGeneric(Material.rock).setBlockName("brick_concrete").setCreativeTab(MainRegistry.tabBlock).setLightOpacity(15).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); + brick_obsidian = new BlockGeneric(Material.rock).setBlockName("brick_obsidian").setCreativeTab(MainRegistry.tabBlock).setLightOpacity(15).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":brick_obsidian"); + brick_light = new BlockGeneric(Material.rock).setBlockName("brick_light").setCreativeTab(MainRegistry.tabBlock).setLightOpacity(15).setHardness(15.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":brick_light"); + + tape_recorder = new DecoTapeRecorder(Material.rock).setBlockName("tape_recorder").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_tape_recorder"); + steel_poles = new DecoSteelPoles(Material.rock).setBlockName("steel_poles").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_steel_poles"); + pole_top = new DecoPoleTop(Material.rock).setBlockName("pole_top").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_pole_top"); + pole_satellite_receiver = new DecoPoleSatelliteReceiver(Material.rock).setBlockName("pole_satellite_receiver").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_satellite_receiver"); + steel_wall = new DecoBlock(Material.rock).setBlockName("steel_wall").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_wall"); + steel_corner = new DecoBlock(Material.rock).setBlockName("steel_corner").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_corner"); + steel_roof = new DecoBlock(Material.rock).setBlockName("steel_roof").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_roof"); + steel_beam = new DecoBlock(Material.rock).setBlockName("steel_beam").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_beam"); + steel_scaffold = new DecoBlock(Material.rock).setBlockName("steel_scaffold").setCreativeTab(MainRegistry.tabBlock).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_scaffold"); + + waste_earth = new WasteEarth(Material.ground).setBlockName("waste_earth").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.tabBlock).setHardness(0.5F).setResistance(1.0F).setBlockTextureName(RefStrings.MODID + ":waste_earth"); + waste_trinitite = new BlockOre(Material.sand).setBlockName("waste_trinitite").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.tabBlock).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite"); + waste_trinitite_red = new BlockOre(Material.sand).setBlockName("waste_trinitite_red").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.tabBlock).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite_red"); + waste_log = new WasteLog(Material.wood).setBlockName("waste_log").setStepSound(Block.soundTypeWood).setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(0.5F); + waste_planks = new BlockOre(Material.wood).setBlockName("waste_planks").setStepSound(Block.soundTypeWood).setCreativeTab(MainRegistry.tabBlock).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_planks"); + frozen_dirt = new BlockOre(Material.wood).setBlockName("frozen_dirt").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.tabBlock).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":frozen_dirt"); + frozen_grass = new WasteEarth(Material.wood).setBlockName("frozen_grass").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.tabBlock).setHardness(0.5F).setResistance(2.5F); + frozen_log = new WasteLog(Material.wood).setBlockName("frozen_log").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.tabBlock).setHardness(0.5F).setResistance(2.5F); + frozen_planks = new BlockOre(Material.wood).setBlockName("frozen_planks").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.tabBlock).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":frozen_planks"); + + nuke_gadget = new NukeGadget(Material.iron).setBlockName("nuke_gadget").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":theGadget"); + nuke_boy = new NukeBoy(Material.iron).setBlockName("nuke_boy").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":lilBoy"); + nuke_man = new NukeMan(Material.iron).setBlockName("nuke_man").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":fatMan"); + nuke_mike = new NukeMike(Material.iron).setBlockName("nuke_mike").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":ivyMike"); + nuke_tsar = new NukeTsar(Material.iron).setBlockName("nuke_tsar").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":tsarBomba"); + nuke_fleija = new NukeFleija(Material.iron).setBlockName("nuke_fleija").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":fleija"); + nuke_prototype = new NukePrototype(Material.iron).setBlockName("nuke_prototype").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":prototype"); + + bomb_multi = new BombMulti(Material.iron).setBlockName("bomb_multi").setCreativeTab(MainRegistry.tabNuke).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi1"); + //bomb_multi_large = new BombMultiLarge(Material.iron).setBlockName("bomb_multi_large").setCreativeTab(MainRegistry.tabNuke).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi_large"); + + flame_war = new BombFlameWar(Material.iron).setBlockName("flame_war").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":flame_war"); + float_bomb = new BombFloat(Material.iron).setBlockName("float_bomb").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F); + therm_endo = new BombThermo(Material.iron).setBlockName("therm_endo").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F); + therm_exo = new BombThermo(Material.iron).setBlockName("therm_exo").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F); + det_cord = new DetCord(Material.iron).setBlockName("det_cord").setCreativeTab(MainRegistry.tabNuke).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_cord"); + red_barrel = new RedBarrel(Material.iron).setBlockName("red_barrel").setCreativeTab(MainRegistry.tabNuke).setHardness(0.5F).setResistance(2.5F); + yellow_barrel = new YellowBarrel(Material.iron).setBlockName("yellow_barrel").setCreativeTab(MainRegistry.tabNuke).setHardness(0.5F).setResistance(2.5F); + + machine_difurnace_off = new MachineDiFurnace(false).setBlockName("machine_difurnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); + machine_difurnace_on = new MachineDiFurnace(true).setBlockName("machine_difurnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); + + machine_centrifuge = new MachineCentrifuge(Material.iron).setBlockName("machine_centrifuge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); + + machine_uf6_tank = new MachineUF6Tank(Material.iron).setBlockName("machine_uf6_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); + + machine_puf6_tank = new MachinePuF6Tank(Material.iron).setBlockName("machine_puf6_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); + + machine_reactor = new MachineReactor(Material.iron).setBlockName("machine_reactor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); + + machine_nuke_furnace_off = new MachineNukeFurnace(false).setBlockName("machine_nuke_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); + machine_nuke_furnace_on = new MachineNukeFurnace(true).setBlockName("machine_nuke_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); + + machine_rtg_furnace_off = new MachineRtgFurnace(false).setBlockName("machine_rtg_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); + machine_rtg_furnace_on = new MachineRtgFurnace(true).setBlockName("machine_rtg_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); + + machine_generator = new MachineGenerator(Material.iron).setBlockName("machine_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); + + machine_electric_furnace_off = new MachineElectricFurnace(false).setBlockName("machine_electric_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); + machine_electric_furnace_on = new MachineElectricFurnace(true).setBlockName("machine_electric_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); + + machine_deuterium = new MachineDeuterium(Material.iron).setBlockName("machine_deuterium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); + + machine_battery = new MachineBattery(Material.iron).setBlockName("machine_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); + + machine_coal_off = new MachineCoal(false).setBlockName("machine_coal_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); + machine_coal_on = new MachineCoal(true).setBlockName("machine_coal_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); + + red_wire_coated = new WireCoated(Material.iron).setBlockName("red_wire_coated").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":red_wire_coated"); + + launch_pad = new LaunchPad(Material.iron).setBlockName("launch_pad").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke).setBlockTextureName(RefStrings.MODID + ":launch_pad"); + launch_pad_generic = new LaunchPad(Material.iron).setBlockName("launch_pad_generic").setHardness(5.0F).setResistance(10.0F); + launch_pad_incendiary = new LaunchPad(Material.iron).setBlockName("launch_pad_incendiary").setHardness(5.0F).setResistance(10.0F); + launch_pad_cluster = new LaunchPad(Material.iron).setBlockName("launch_pad_cluster").setHardness(5.0F).setResistance(10.0F); + launch_pad_buster = new LaunchPad(Material.iron).setBlockName("launch_pad_buster").setHardness(5.0F).setResistance(10.0F); + launch_pad_strong = new LaunchPad(Material.iron).setBlockName("launch_pad_strong").setHardness(5.0F).setResistance(10.0F); + launch_pad_incendiary_strong = new LaunchPad(Material.iron).setBlockName("launch_pad_incendiary_strong").setHardness(5.0F).setResistance(10.0F); + launch_pad_cluster_strong = new LaunchPad(Material.iron).setBlockName("launch_pad_cluster_strong").setHardness(5.0F).setResistance(10.0F); + launch_pad_buster_strong = new LaunchPad(Material.iron).setBlockName("launch_pad_buster_strong").setHardness(5.0F).setResistance(10.0F); + launch_pad_burst = new LaunchPad(Material.iron).setBlockName("launch_pad_burst").setHardness(5.0F).setResistance(10.0F); + launch_pad_inferno = new LaunchPad(Material.iron).setBlockName("launch_pad_inferno").setHardness(5.0F).setResistance(10.0F); + launch_pad_rain = new LaunchPad(Material.iron).setBlockName("launch_pad_rain").setHardness(5.0F).setResistance(10.0F); + launch_pad_drill = new LaunchPad(Material.iron).setBlockName("launch_pad_drill").setHardness(5.0F).setResistance(10.0F); + launch_pad_nuclear = new LaunchPad(Material.iron).setBlockName("launch_pad_nuclear").setHardness(5.0F).setResistance(10.0F); + launch_pad_endo = new LaunchPad(Material.iron).setBlockName("launch_pad_endo").setHardness(5.0F).setResistance(10.0F); + launch_pad_exo = new LaunchPad(Material.iron).setBlockName("launch_pad_exo").setHardness(5.0F).setResistance(10.0F); + launch_pad_mirv = new LaunchPad(Material.iron).setBlockName("launch_pad_mirv").setHardness(5.0F).setResistance(10.0F); + + book_guide = new Guide(Material.iron).setBlockName("book_guide").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke); + + statue_elb = new DecoBlockAlt(Material.iron).setBlockName("#null").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY); + statue_elb_g = new DecoBlockAlt(Material.iron).setBlockName("#void").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY); + statue_elb_w = new DecoBlockAlt(Material.iron).setBlockName("#ngtv").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY); + statue_elb_f = new DecoBlockAlt(Material.iron).setBlockName("#undef").setHardness(Float.POSITIVE_INFINITY).setLightLevel(1.0F).setResistance(Float.POSITIVE_INFINITY); + } + + private static void registerBlock() { + //Test + GameRegistry.registerBlock(test_render, test_render.getUnlocalizedName()); + GameRegistry.registerBlock(test_container, test_container.getUnlocalizedName()); + GameRegistry.registerBlock(test_bomb, test_bomb.getUnlocalizedName()); + GameRegistry.registerBlock(test_bomb_advanced, test_bomb_advanced.getUnlocalizedName()); + + GameRegistry.registerBlock(test_nuke, test_nuke.getUnlocalizedName()); + + GameRegistry.registerBlock(event_tester, event_tester.getUnlocalizedName()); + GameRegistry.registerBlock(rotation_tester, rotation_tester.getUnlocalizedName()); + GameRegistry.registerBlock(obj_tester, obj_tester.getUnlocalizedName()); + GameRegistry.registerBlock(test_ticker, test_ticker.getUnlocalizedName()); + GameRegistry.registerBlock(test_missile, test_missile.getUnlocalizedName()); + + //Ores + GameRegistry.registerBlock(ore_uranium, ore_uranium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_titanium, ore_titanium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_sulfur, ore_sulfur.getUnlocalizedName()); + GameRegistry.registerBlock(ore_niter, ore_niter.getUnlocalizedName()); + GameRegistry.registerBlock(ore_copper, ore_copper.getUnlocalizedName()); + GameRegistry.registerBlock(ore_tungsten, ore_tungsten.getUnlocalizedName()); + GameRegistry.registerBlock(ore_aluminium, ore_aluminium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_fluorite, ore_fluorite.getUnlocalizedName()); + GameRegistry.registerBlock(ore_beryllium, ore_beryllium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_lead, ore_lead.getUnlocalizedName()); + GameRegistry.registerBlock(ore_schrabidium, ItemSchrabidiumBlock.class, ore_schrabidium.getUnlocalizedName()); + + //Blocks + GameRegistry.registerBlock(block_uranium, block_uranium.getUnlocalizedName()); + GameRegistry.registerBlock(block_titanium, block_titanium.getUnlocalizedName()); + GameRegistry.registerBlock(block_sulfur, block_sulfur.getUnlocalizedName()); + GameRegistry.registerBlock(block_niter, block_niter.getUnlocalizedName()); + GameRegistry.registerBlock(block_copper, block_copper.getUnlocalizedName()); + GameRegistry.registerBlock(block_red_copper, block_red_copper.getUnlocalizedName()); + GameRegistry.registerBlock(block_tungsten, block_tungsten.getUnlocalizedName()); + GameRegistry.registerBlock(block_aluminium, block_aluminium.getUnlocalizedName()); + GameRegistry.registerBlock(block_fluorite, block_fluorite.getUnlocalizedName()); + GameRegistry.registerBlock(block_beryllium, block_beryllium.getUnlocalizedName()); + GameRegistry.registerBlock(block_steel, block_steel.getUnlocalizedName()); + GameRegistry.registerBlock(block_lead, block_lead.getUnlocalizedName()); + GameRegistry.registerBlock(block_trinitite, block_trinitite.getUnlocalizedName()); + GameRegistry.registerBlock(block_waste, block_waste.getUnlocalizedName()); + GameRegistry.registerBlock(block_schrabidium, ItemSchrabidiumBlock.class, block_schrabidium.getUnlocalizedName()); + + //Reinforced Blocks + GameRegistry.registerBlock(reinforced_brick, reinforced_brick.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_glass, reinforced_glass.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_light, reinforced_light.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_sand, reinforced_sand.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_lamp_off, reinforced_lamp_off.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_lamp_on, reinforced_lamp_on.getUnlocalizedName()); + + //Bricks + GameRegistry.registerBlock(brick_concrete, brick_concrete.getUnlocalizedName()); + GameRegistry.registerBlock(brick_obsidian, brick_obsidian.getUnlocalizedName()); + GameRegistry.registerBlock(brick_light, brick_light.getUnlocalizedName()); + + //Decoration Blocks + GameRegistry.registerBlock(tape_recorder, tape_recorder.getUnlocalizedName()); + GameRegistry.registerBlock(steel_poles, steel_poles.getUnlocalizedName()); + GameRegistry.registerBlock(pole_top, pole_top.getUnlocalizedName()); + GameRegistry.registerBlock(pole_satellite_receiver, pole_satellite_receiver.getUnlocalizedName()); + GameRegistry.registerBlock(steel_wall, steel_wall.getUnlocalizedName()); + GameRegistry.registerBlock(steel_corner, steel_corner.getUnlocalizedName()); + GameRegistry.registerBlock(steel_roof, steel_roof.getUnlocalizedName()); + GameRegistry.registerBlock(steel_beam, steel_beam.getUnlocalizedName()); + GameRegistry.registerBlock(steel_scaffold, steel_scaffold.getUnlocalizedName()); + + //Nuclear Waste + GameRegistry.registerBlock(waste_earth, waste_earth.getUnlocalizedName()); + GameRegistry.registerBlock(waste_trinitite, waste_trinitite.getUnlocalizedName()); + GameRegistry.registerBlock(waste_trinitite_red, waste_trinitite_red.getUnlocalizedName()); + GameRegistry.registerBlock(waste_log, waste_log.getUnlocalizedName()); + GameRegistry.registerBlock(waste_planks, waste_planks.getUnlocalizedName()); + GameRegistry.registerBlock(frozen_grass, frozen_grass.getUnlocalizedName()); + GameRegistry.registerBlock(frozen_dirt, frozen_dirt.getUnlocalizedName()); + GameRegistry.registerBlock(frozen_log, frozen_log.getUnlocalizedName()); + GameRegistry.registerBlock(frozen_planks, frozen_planks.getUnlocalizedName()); + + //Nukes + GameRegistry.registerBlock(nuke_gadget, nuke_gadget.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_boy, nuke_boy.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_man, nuke_man.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_mike, nuke_mike.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_tsar, nuke_tsar.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_prototype, ItemPrototypeBlock.class, nuke_prototype.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_fleija, nuke_fleija.getUnlocalizedName()); + + //Generic Bombs + GameRegistry.registerBlock(bomb_multi, bomb_multi.getUnlocalizedName()); + //GameRegistry.registerBlock(bomb_multi_large, bomb_multi_large.getUnlocalizedName()); + + //Block Bombs + GameRegistry.registerBlock(flame_war, flame_war.getUnlocalizedName()); + GameRegistry.registerBlock(float_bomb, float_bomb.getUnlocalizedName()); + GameRegistry.registerBlock(therm_endo, therm_endo.getUnlocalizedName()); + GameRegistry.registerBlock(therm_exo, therm_exo.getUnlocalizedName()); + GameRegistry.registerBlock(det_cord, det_cord.getUnlocalizedName()); + GameRegistry.registerBlock(red_barrel, red_barrel.getUnlocalizedName()); + GameRegistry.registerBlock(yellow_barrel, yellow_barrel.getUnlocalizedName()); + + //Machines + GameRegistry.registerBlock(machine_difurnace_off, machine_difurnace_off.getUnlocalizedName()); + GameRegistry.registerBlock(machine_difurnace_on, machine_difurnace_on.getUnlocalizedName()); + GameRegistry.registerBlock(machine_centrifuge, machine_centrifuge.getUnlocalizedName()); + GameRegistry.registerBlock(machine_uf6_tank, machine_uf6_tank.getUnlocalizedName()); + GameRegistry.registerBlock(machine_puf6_tank, machine_puf6_tank.getUnlocalizedName()); + GameRegistry.registerBlock(machine_reactor, machine_reactor.getUnlocalizedName()); + GameRegistry.registerBlock(machine_nuke_furnace_off, machine_nuke_furnace_off.getUnlocalizedName()); + GameRegistry.registerBlock(machine_nuke_furnace_on, machine_nuke_furnace_on.getUnlocalizedName()); + GameRegistry.registerBlock(machine_rtg_furnace_off, machine_rtg_furnace_off.getUnlocalizedName()); + GameRegistry.registerBlock(machine_rtg_furnace_on, machine_rtg_furnace_on.getUnlocalizedName()); + GameRegistry.registerBlock(machine_coal_off, machine_coal_off.getUnlocalizedName()); + GameRegistry.registerBlock(machine_coal_on, machine_coal_on.getUnlocalizedName()); + GameRegistry.registerBlock(machine_generator, machine_generator.getUnlocalizedName()); + GameRegistry.registerBlock(red_wire_coated, red_wire_coated.getUnlocalizedName()); + GameRegistry.registerBlock(machine_battery, machine_battery.getUnlocalizedName()); + GameRegistry.registerBlock(machine_electric_furnace_off, machine_electric_furnace_off.getUnlocalizedName()); + GameRegistry.registerBlock(machine_electric_furnace_on, machine_electric_furnace_on.getUnlocalizedName()); + GameRegistry.registerBlock(machine_deuterium, machine_deuterium.getUnlocalizedName()); + + //Launch Pads + GameRegistry.registerBlock(launch_pad, launch_pad.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_generic, launch_pad_generic.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_incendiary, launch_pad_incendiary.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_cluster, launch_pad_cluster.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_buster, launch_pad_buster.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_strong, launch_pad_strong.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_incendiary_strong, launch_pad_incendiary_strong.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_cluster_strong, launch_pad_cluster_strong.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_buster_strong, launch_pad_buster_strong.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_burst, launch_pad_burst.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_inferno, launch_pad_inferno.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_rain, launch_pad_rain.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_drill, launch_pad_drill.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_nuclear, launch_pad_nuclear.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_endo, launch_pad_endo.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_exo, launch_pad_exo.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_mirv, launch_pad_mirv.getUnlocalizedName()); + + //Guide + GameRegistry.registerBlock(book_guide, book_guide.getUnlocalizedName()); + + //ElB + GameRegistry.registerBlock(statue_elb, statue_elb.getUnlocalizedName()); + GameRegistry.registerBlock(statue_elb_g, statue_elb_g.getUnlocalizedName()); + GameRegistry.registerBlock(statue_elb_w, statue_elb_w.getUnlocalizedName()); + GameRegistry.registerBlock(statue_elb_f, statue_elb_f.getUnlocalizedName()); + } +} diff --git a/com/hbm/blocks/NukeBoy.java b/com/hbm/blocks/NukeBoy.java new file mode 100644 index 000000000..ae0552248 --- /dev/null +++ b/com/hbm/blocks/NukeBoy.java @@ -0,0 +1,218 @@ +package com.hbm.blocks; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import com.hbm.entity.EntityNukeCloudSmall; +import com.hbm.entity.EntityNukeExplosion; +import com.hbm.entity.EntityNukeExplosionAdvanced; +import com.hbm.explosion.ExplosionNukeAdvanced; +import com.hbm.explosion.ExplosionNukeGeneric; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.enchantment.EnchantmentProtection; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class NukeBoy extends BlockContainer { + + public TileEntityNukeBoy tetn = new TileEntityNukeBoy(); + + private static boolean keepInventory = false; + private final static Random field_149933_a = new Random(); + private boolean isExploding = false; + + protected NukeBoy(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityNukeBoy(); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.nuke_boy); + } + + 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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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()) + { + TileEntityNukeBoy entity = (TileEntityNukeBoy) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_nuke_boy, world, x, y, z); + } + return true; + } else { + return false; + } + } + + 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 = 120; + entity.speed = 25; + entity.coefficient = 10.0F; + world.spawnEntityInWorld(entity); + + + //ExplosionNukeAdvanced.mush(world, x, y, z); + + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + entity2.posX = x; + entity2.posY = y - 11; + entity2.posZ = z; + world.spawnEntityInWorld(entity2); + } + return false; + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + } +} diff --git a/com/hbm/blocks/NukeFleija.java b/com/hbm/blocks/NukeFleija.java new file mode 100644 index 000000000..aeda84e34 --- /dev/null +++ b/com/hbm/blocks/NukeFleija.java @@ -0,0 +1,186 @@ +package com.hbm.blocks; + +import java.util.HashMap; +import java.util.Map; +import java.util.Random; + +import com.hbm.entity.EntityNukeExplosionAdvanced; +import com.hbm.explosion.ExplosionNukeAdvanced; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class NukeFleija extends BlockContainer { + + public TileEntityNukeFleija tetn = new TileEntityNukeFleija(); + + private final Random field_149933_a = new Random(); + private static boolean keepInventory = false; + private Map field_77288_k = new HashMap(); + + protected NukeFleija(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityNukeFleija(); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.nuke_fleija); + } + + 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) + { + TileEntityNukeFleija tileentityfurnace = (TileEntityNukeFleija)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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()) + { + TileEntityNukeFleija entity = (TileEntityNukeFleija) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_nuke_fleija, world, x, y, z); + } + return true; + } else { + return false; + } + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + TileEntityNukeFleija entity = (TileEntityNukeFleija) 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, 50); + } + } + } + + public boolean igniteTestBomb(World world, int x, int y, int z, int r) + { + if (!world.isRemote) + { + tetn.clearSlots(); + //world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0); + world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); + + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(world); + entity.posX = x; + entity.posY = y; + entity.posZ = z; + entity.destructionRange = r; + entity.speed = 25; + entity.coefficient = 1.0F; + entity.waste = false; + + world.spawnEntityInWorld(entity); + } + + return false; + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + } + +} diff --git a/com/hbm/blocks/NukeGadget.java b/com/hbm/blocks/NukeGadget.java new file mode 100644 index 000000000..8391253a2 --- /dev/null +++ b/com/hbm/blocks/NukeGadget.java @@ -0,0 +1,463 @@ +package com.hbm.blocks; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import com.hbm.entity.EntityNukeCloudSmall; +import com.hbm.entity.EntityNukeExplosion; +import com.hbm.entity.EntityNukeExplosionAdvanced; +import com.hbm.explosion.ExplosionNukeAdvanced; +import com.hbm.explosion.ExplosionNukeGeneric; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.enchantment.EnchantmentProtection; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class NukeGadget extends BlockContainer { + + public TileEntityNukeGadget tetn = new TileEntityNukeGadget(); + + private final Random field_149933_a = new Random(); + private static boolean keepInventory = false; + private Map field_77288_k = new HashMap(); + private boolean isExploding = false; + + protected NukeGadget(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityNukeGadget(); + + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.nuke_gadget); + } + + 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) + { + TileEntityNukeGadget tileentityfurnace = (TileEntityNukeGadget)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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()) + { + TileEntityNukeGadget entity = (TileEntityNukeGadget) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_nuke_gadget, world, x, y, z); + } + return true; + } else { + return false; + } + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + TileEntityNukeGadget entity = (TileEntityNukeGadget) 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) { + /* + dealDamage(world,x,y,z, 30); + detonateTestBomb(world,x,y,z, 30); + vapor(world,x,y,z, 30); + dealDamage(world,x,y,z, 60); + detonateTestBomb(world,x,y,z, 60); + vapor(world,x,y,z, 60); + dealDamage(world,x,y,z, 90); + detonateTestBomb(world,x,y,z, 90); + vapor(world,x,y,z, 90); + dealDamage(world,x,y,z, 120); + detonateTestBomb(world,x,y,z, 120); + vapor(world,x,y,z, 120); + */ + 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, 150); + ExplosionNukeGeneric.vapor(world, x, y, z, 170); + ExplosionNukeGeneric.waste(world, x, y, z, 225); + ExplosionNukeGeneric.dealDamage(world, x, y, z, 170);*/ + + /*EntityNukeExplosion entity = new EntityNukeExplosion(world); + entity.posX = x; + entity.posY = y; + entity.posZ = z; + entity.destructionRange = 150; + entity.vaporRange = 200; + entity.wasteRange = 225; + entity.damageRange = 170; + + world.spawnEntityInWorld(entity);*/ + + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(world); + entity.posX = x; + entity.posY = y; + entity.posZ = z; + entity.destructionRange = 150; + entity.speed = 25; + entity.coefficient = 10.0F; + + world.spawnEntityInWorld(entity); + + //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); + } + + return false; + } + + /*public void detonateTestBomb(World world, int x, int y, int z, int bombStartStrength) + { + //Rodol's awesome destruction code + int r = bombStartStrength; //radius of explosion (change this to bigger numbers for more epicness) + int r2 = r*r; //radius^2, for faster distance checks. (No sqrt needed for pythagoras) + int r22 = r2/2; //half of r^2, calculations outside the loop only get called once. Always pull out as many things from the loop as possible. + for (int xx = -r; xx < r; xx++) + { + int X = xx+x; //x coordinate we are working on + int XX = xx*xx; //more stuff for a faster distance check + for (int yy = -r; yy < r; yy++) + { + int Y = yy+y; //y coord + int YY = XX+yy*yy; + for (int zz = -r; zz < r; zz++) + { + int Z = zz+z; //z coord + int ZZ = YY+zz*zz; //final= x*x+y*y+z*z. remind you of anything? + if (ZZ= y) destruction(world, X, Y, Z); //destroy the block if its within the radius ...and if it's not bedrock :D + } //you can change the if statement to if (ZZ 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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()) + { + TileEntityNukeMan entity = (TileEntityNukeMan) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_nuke_man, world, x, y, z); + } + return true; + } else { + return false; + } + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + TileEntityNukeMan entity = (TileEntityNukeMan) 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) { + /* + dealDamage(world,x,y,z, 30); + detonateTestBomb(world,x,y,z, 30); + vapor(world,x,y,z, 30); + dealDamage(world,x,y,z, 60); + detonateTestBomb(world,x,y,z, 60); + vapor(world,x,y,z, 60); + dealDamage(world,x,y,z, 90); + detonateTestBomb(world,x,y,z, 90); + vapor(world,x,y,z, 90); + dealDamage(world,x,y,z, 120); + detonateTestBomb(world,x,y,z, 120); + vapor(world,x,y,z, 120); + */ + 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, 175); + ExplosionNukeGeneric.vapor(world, x, y, z, 195); + ExplosionNukeGeneric.waste(world, x, y, z, 250); + ExplosionNukeGeneric.dealDamage(world, x, y, z, 195);*/ + + /*EntityNukeExplosion entity = new EntityNukeExplosion(world); + entity.posX = x; + entity.posY = y; + entity.posZ = z; + entity.destructionRange = 175; + entity.vaporRange = 195; + entity.wasteRange = 250; + entity.damageRange = 195; + + world.spawnEntityInWorld(entity);*/ + + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(world); + entity.posX = x; + entity.posY = y; + entity.posZ = z; + entity.destructionRange = 175; + entity.speed = 25; + entity.coefficient = 10.0F; + + world.spawnEntityInWorld(entity); + + //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); + } + + return false; + } + + /*public void detonateTestBomb(World world, int x, int y, int z, int bombStartStrength) + { + //Rodol's awesome destruction code + int r = bombStartStrength; //radius of explosion (change this to bigger numbers for more epicness) + int r2 = r*r; //radius^2, for faster distance checks. (No sqrt needed for pythagoras) + int r22 = r2/2; //half of r^2, calculations outside the loop only get called once. Always pull out as many things from the loop as possible. + for (int xx = -r; xx < r; xx++) + { + int X = xx+x; //x coordinate we are working on + int XX = xx*xx; //more stuff for a faster distance check + for (int yy = -r; yy < r; yy++) + { + int Y = yy+y; //y coord + int YY = XX+yy*yy; + for (int zz = -r; zz < r; zz++) + { + int Z = zz+z; //z coord + int ZZ = YY+zz*zz; //final= x*x+y*y+z*z. remind you of anything? + if (ZZ= y) destruction(world, X, Y, Z); //destroy the block if its within the radius ...and if it's not bedrock :D + } //you can change the if statement to if (ZZ 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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()) + { + TileEntityNukeMike entity = (TileEntityNukeMike) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_nuke_mike, world, x, y, z); + } + return true; + } else { + return false; + } + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + TileEntityNukeMike entity = (TileEntityNukeMike) p_149695_1_.getTileEntity(x, y, z); + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + if(entity.isReady() && !entity.isFilled()) + { + 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, 175); + } + + if(entity.isFilled()) + { + 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, 250); + } + } + } + + public boolean igniteTestBomb(World world, int x, int y, int z, int r) + { + if (!world.isRemote) + { + tetn.clearSlots(); + //world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0); + world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); + + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(world); + entity.posX = x; + entity.posY = y; + entity.posZ = z; + entity.destructionRange = r; + entity.speed = 25; + entity.coefficient = 10.0F; + + world.spawnEntityInWorld(entity); + + //ExplosionNukeAdvanced.mush(world, x, y, z); + } + + return false; + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + } + +} diff --git a/com/hbm/blocks/NukePrototype.java b/com/hbm/blocks/NukePrototype.java new file mode 100644 index 000000000..eee39d72c --- /dev/null +++ b/com/hbm/blocks/NukePrototype.java @@ -0,0 +1,197 @@ +package com.hbm.blocks; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import com.hbm.entity.EntityNukeExplosionAdvanced; +import com.hbm.items.ModItems; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class NukePrototype extends BlockContainer { + + public TileEntityNukePrototype tetn = new TileEntityNukePrototype(); + + private final Random field_149933_a = new Random(); + private static boolean keepInventory = false; + private Map field_77288_k = new HashMap(); + + protected NukePrototype(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityNukePrototype(); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.nuke_prototype); + } + + 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) + { + TileEntityNukePrototype tileentityfurnace = (TileEntityNukePrototype)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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() && player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == ModItems.igniter) { + TileEntityNukePrototype entity = (TileEntityNukePrototype) world.getTileEntity(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, 150); + } + return true; + } else if(!player.isSneaking()) + { + TileEntityNukePrototype entity = (TileEntityNukePrototype) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_nuke_prototype, world, x, y, z); + } + return true; + } else { + return false; + } + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + TileEntityNukePrototype entity = (TileEntityNukePrototype) 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, 150); + } + } + } + + public boolean igniteTestBomb(World world, int x, int y, int z, int r) + { + if (!world.isRemote) + { + tetn.clearSlots(); + //world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0); + world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); + + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(world); + entity.posX = x; + entity.posY = y; + entity.posZ = z; + entity.destructionRange = r; + entity.speed = 25; + entity.coefficient = 1.0F; + entity.waste = false; + + world.spawnEntityInWorld(entity); + } + + return false; + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + } + +} diff --git a/com/hbm/blocks/NukeTsar.java b/com/hbm/blocks/NukeTsar.java new file mode 100644 index 000000000..8e4e4e25e --- /dev/null +++ b/com/hbm/blocks/NukeTsar.java @@ -0,0 +1,195 @@ +package com.hbm.blocks; + +import java.util.HashMap; +import java.util.Map; +import java.util.Random; + +import com.hbm.entity.EntityNukeExplosionAdvanced; +import com.hbm.explosion.ExplosionNukeAdvanced; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class NukeTsar extends BlockContainer { + + public TileEntityNukeTsar tetn = new TileEntityNukeTsar(); + + private final Random field_149933_a = new Random(); + private static boolean keepInventory = false; + private Map field_77288_k = new HashMap(); + + protected NukeTsar(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityNukeTsar(); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.nuke_tsar); + } + + 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) + { + TileEntityNukeTsar tileentityfurnace = (TileEntityNukeTsar)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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()) + { + TileEntityNukeTsar entity = (TileEntityNukeTsar) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_nuke_tsar, world, x, y, z); + } + return true; + } else { + return false; + } + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + TileEntityNukeTsar entity = (TileEntityNukeTsar) p_149695_1_.getTileEntity(x, y, z); + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + if(entity.isReady() && !entity.isFilled()) + { + 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, 175); + } + + if(entity.isFilled()) + { + 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, 500); + } + } + } + + public boolean igniteTestBomb(World world, int x, int y, int z, int r) + { + if (!world.isRemote) + { + tetn.clearSlots(); + //world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0); + world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); + + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(world); + entity.posX = x; + entity.posY = y; + entity.posZ = z; + entity.destructionRange = r; + entity.speed = 25; + entity.coefficient = 10.0F; + + world.spawnEntityInWorld(entity); + + //ExplosionNukeAdvanced.mush(world, x, y, z); + } + + return false; + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + } + +} diff --git a/com/hbm/blocks/RedBarrel.java b/com/hbm/blocks/RedBarrel.java new file mode 100644 index 000000000..9916d1c58 --- /dev/null +++ b/com/hbm/blocks/RedBarrel.java @@ -0,0 +1,78 @@ +package com.hbm.blocks; + +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.Explosion; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class RedBarrel extends BlockContainer { + + protected RedBarrel(Material p_i45394_1_) { + super(p_i45394_1_); + } + + public void onBlockDestroyedByExplosion(World p_149723_1_, int p_149723_2_, int p_149723_3_, int p_149723_4_, Explosion p_149723_5_) + { + if (!p_149723_1_.isRemote) + { + explode(p_149723_1_, p_149723_2_, p_149723_3_, p_149723_4_); + } + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + if (p_149695_1_.getBlock(x + 1, y, z) == Blocks.fire || p_149695_1_.getBlock(x - 1, y, z) == Blocks.fire || p_149695_1_.getBlock(x, y + 1, z) == Blocks.fire || p_149695_1_.getBlock(x, y - 1, z) == Blocks.fire || p_149695_1_.getBlock(x, y, z + 1) == Blocks.fire || p_149695_1_.getBlock(x, y, z - 1) == Blocks.fire) + { + explode(p_149695_1_, x, y, z); + } + } + + public void explode(World p_149695_1_, int x, int y, int z) { + + p_149695_1_.newExplosion((Entity)null, (double)((float)x + 0.5F), (double)((float)y + 0.5F), (double)((float)z + 0.5F), 2.5F, true, true); + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + + public TileEntity createNewTileEntity(World var1, int var2) { + return new TileEntityRedBarrel(); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconregister) { + this.blockIcon = iconregister.registerIcon(RefStrings.MODID + ":red_barrel"); + } + + public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) + { + float f = 0.0625F; + this.setBlockBounds(2*f, 0.0F, 2*f, 14*f, 1.0F, 14*f); + } + + public boolean canDropFromExplosion(Explosion p_149659_1_) + { + return false; + } + +} diff --git a/com/hbm/blocks/ReinforcedBlock.java b/com/hbm/blocks/ReinforcedBlock.java new file mode 100644 index 000000000..6402a3df6 --- /dev/null +++ b/com/hbm/blocks/ReinforcedBlock.java @@ -0,0 +1,44 @@ +package com.hbm.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.util.Facing; +import net.minecraft.world.IBlockAccess; + +public class ReinforcedBlock extends Block { + + private boolean field_149996_a; + + protected ReinforcedBlock(Material p_i45394_1_) { + super(p_i45394_1_); + } + + public boolean isOpaqueCube() + { + return false; + } + + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) + { + Block block = p_149646_1_.getBlock(p_149646_2_, p_149646_3_, p_149646_4_); + + if (this == ModBlocks.reinforced_glass) + { + if (p_149646_1_.getBlockMetadata(p_149646_2_, p_149646_3_, p_149646_4_) != p_149646_1_.getBlockMetadata(p_149646_2_ - Facing.offsetsXForSide[p_149646_5_], p_149646_3_ - Facing.offsetsYForSide[p_149646_5_], p_149646_4_ - Facing.offsetsZForSide[p_149646_5_])) + { + return true; + } + + if (block == this) + { + return false; + } + } + + return !this.field_149996_a && block == this ? false : super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_); + } +} diff --git a/com/hbm/blocks/ReinforcedLamp.java b/com/hbm/blocks/ReinforcedLamp.java new file mode 100644 index 000000000..7313c8301 --- /dev/null +++ b/com/hbm/blocks/ReinforcedLamp.java @@ -0,0 +1,83 @@ +package com.hbm.blocks; + +import java.util.Random; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ReinforcedLamp extends Block { + + private final boolean field_150171_a; + private static final String __OBFID = "CL_00000297"; + + public ReinforcedLamp(Material mat, boolean p_i45421_1_) + { + super(mat); + this.field_150171_a = p_i45421_1_; + + if (p_i45421_1_) + { + this.setLightLevel(1.0F); + } + } + + public void onBlockAdded(World p_149726_1_, int p_149726_2_, int p_149726_3_, int p_149726_4_) + { + if (!p_149726_1_.isRemote) + { + if (this.field_150171_a && !p_149726_1_.isBlockIndirectlyGettingPowered(p_149726_2_, p_149726_3_, p_149726_4_)) + { + p_149726_1_.scheduleBlockUpdate(p_149726_2_, p_149726_3_, p_149726_4_, this, 4); + } + else if (!this.field_150171_a && p_149726_1_.isBlockIndirectlyGettingPowered(p_149726_2_, p_149726_3_, p_149726_4_)) + { + p_149726_1_.setBlock(p_149726_2_, p_149726_3_, p_149726_4_, ModBlocks.reinforced_lamp_on, 0, 2); + } + } + } + + public void onNeighborBlockChange(World p_149695_1_, int p_149695_2_, int p_149695_3_, int p_149695_4_, Block p_149695_5_) + { + if (!p_149695_1_.isRemote) + { + if (this.field_150171_a && !p_149695_1_.isBlockIndirectlyGettingPowered(p_149695_2_, p_149695_3_, p_149695_4_)) + { + p_149695_1_.scheduleBlockUpdate(p_149695_2_, p_149695_3_, p_149695_4_, this, 4); + } + else if (!this.field_150171_a && p_149695_1_.isBlockIndirectlyGettingPowered(p_149695_2_, p_149695_3_, p_149695_4_)) + { + p_149695_1_.setBlock(p_149695_2_, p_149695_3_, p_149695_4_, ModBlocks.reinforced_lamp_on, 0, 2); + } + } + } + + public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_) + { + if (!p_149674_1_.isRemote && this.field_150171_a && !p_149674_1_.isBlockIndirectlyGettingPowered(p_149674_2_, p_149674_3_, p_149674_4_)) + { + p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, ModBlocks.reinforced_lamp_off, 0, 2); + } + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.reinforced_lamp_off); + } + + @SideOnly(Side.CLIENT) + public Item getItem(World p_149694_1_, int p_149694_2_, int p_149694_3_, int p_149694_4_) + { + return Item.getItemFromBlock(ModBlocks.reinforced_lamp_off); + } + + protected ItemStack createStackedBlock(int p_149644_1_) + { + return new ItemStack(ModBlocks.reinforced_lamp_off); + } +} diff --git a/com/hbm/blocks/TestBomb.java b/com/hbm/blocks/TestBomb.java new file mode 100644 index 000000000..b01b19189 --- /dev/null +++ b/com/hbm/blocks/TestBomb.java @@ -0,0 +1,85 @@ +package com.hbm.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.util.ChatComponentText; +import net.minecraft.world.Explosion; +import net.minecraft.world.World; + +public class TestBomb extends Block { + + int bombStartStrength = 40; + int bombStrengthA = 10; + protected int timer1 = 20; + int timer2 = timer1; + + protected TestBomb(Material p_i45394_1_) { + super(p_i45394_1_); + } + + public void onBlockAdded(World world, int x, int y, int z) + { + super.onBlockAdded(world, x, y, z); + + if (world.isBlockIndirectlyGettingPowered(x, y, z)) + { + this.onBlockDestroyedByPlayer(world, x, y, z, 1); + world.setBlockToAir(x, y, z); + soos(world, x, y, z, bombStartStrength, bombStrengthA); + } + } + + /** + * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are + * their own) Args: x, y, z, neighbor Block + */ + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + this.onBlockDestroyedByPlayer(p_149695_1_, x, y, z, 1); + p_149695_1_.setBlockToAir(x, y, z); + soos(p_149695_1_, x, y, z, bombStartStrength, bombStrengthA); + } + } + + public boolean soos(World world, int x, int y, int z, int bombStartStrength, int bombStrengthA) + { + if (!world.isRemote) + explode(world,x,y,z, bombStartStrength, bombStrengthA); + 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 + return false; + } + + public void explode(World world, int x, int y, int z, int bombStartStrength, int bombStrengthA) + { + int r = bombStartStrength; //radius of explosion (change this to bigger numbers for more epicness) + int r2 = r*r; //radius^2, for faster distance checks. (No sqrt needed for pythagoras) + int r22 = r2/2; //half of r^2, calculations outside the loop only get called once. Always pull out as many things from the loop as possible. + for (int xx = -r; xx < r; xx++) + { + int X = xx+x; //x coordinate we are working on + int XX = xx*xx; //more stuff for a faster distance check + for (int yy = -r; yy < r; yy++) + { + int Y = yy+y; //y coord + //int YY = XX+yy*yy*3; + int YY = XX+yy*yy*3; + for (int zz = -r; zz < r; zz++) + { + int Z = zz+z; //z coord + int ZZ = YY+zz*zz; //final= x*x+y*y+z*z. remind you of anything? + if (ZZ 0; p_149749_1_.spawnEntityInWorld(entityitem)) + { + int j1 = this.field_149955_b.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149955_b.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149955_b.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.field_149955_b.nextGaussian() * f3); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + } + } + } + + 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_); + } + + //Allgemeine Inventarfunktion + public IInventory func_149951_m(World p_149951_1_, int p_149951_2_, int p_149951_3_, int p_149951_4_) + { + Object object = (TileEntityTestContainer)p_149951_1_.getTileEntity(p_149951_2_, p_149951_3_, p_149951_4_); + + if (object == null) + { + return null; + } + else if (p_149951_1_.isSideSolid(p_149951_2_, p_149951_3_ + 1, p_149951_4_, DOWN)) + { + return null; + } + else if (func_149953_o(p_149951_1_, p_149951_2_, p_149951_3_, p_149951_4_)) + { + return null; + } + else if (p_149951_1_.getBlock(p_149951_2_ - 1, p_149951_3_, p_149951_4_) == this && (p_149951_1_.isSideSolid(p_149951_2_ - 1, p_149951_3_ + 1, p_149951_4_, DOWN) || func_149953_o(p_149951_1_, p_149951_2_ - 1, p_149951_3_, p_149951_4_))) + { + return null; + } + else if (p_149951_1_.getBlock(p_149951_2_ + 1, p_149951_3_, p_149951_4_) == this && (p_149951_1_.isSideSolid(p_149951_2_ + 1, p_149951_3_ + 1, p_149951_4_, DOWN) || func_149953_o(p_149951_1_, p_149951_2_ + 1, p_149951_3_, p_149951_4_))) + { + return null; + } + else if (p_149951_1_.getBlock(p_149951_2_, p_149951_3_, p_149951_4_ - 1) == this && (p_149951_1_.isSideSolid(p_149951_2_, p_149951_3_ + 1, p_149951_4_ - 1, DOWN) || func_149953_o(p_149951_1_, p_149951_2_, p_149951_3_, p_149951_4_ - 1))) + { + return null; + } + else if (p_149951_1_.getBlock(p_149951_2_, p_149951_3_, p_149951_4_ + 1) == this && (p_149951_1_.isSideSolid(p_149951_2_, p_149951_3_ + 1, p_149951_4_ + 1, DOWN) || func_149953_o(p_149951_1_, p_149951_2_, p_149951_3_, p_149951_4_ + 1))) + { + return null; + } + else + { + if (p_149951_1_.getBlock(p_149951_2_ - 1, p_149951_3_, p_149951_4_) == this) + { + object = new InventoryLargeChest("container.testContainer", (TileEntityTestContainer)p_149951_1_.getTileEntity(p_149951_2_ - 1, p_149951_3_, p_149951_4_), (IInventory)object); + } + + if (p_149951_1_.getBlock(p_149951_2_ + 1, p_149951_3_, p_149951_4_) == this) + { + object = new InventoryLargeChest("container.testContainer", (IInventory)object, (TileEntityTestContainer)p_149951_1_.getTileEntity(p_149951_2_ + 1, p_149951_3_, p_149951_4_)); + } + + if (p_149951_1_.getBlock(p_149951_2_, p_149951_3_, p_149951_4_ - 1) == this) + { + object = new InventoryLargeChest("container.testContainer", (TileEntityTestContainer)p_149951_1_.getTileEntity(p_149951_2_, p_149951_3_, p_149951_4_ - 1), (IInventory)object); + } + + if (p_149951_1_.getBlock(p_149951_2_, p_149951_3_, p_149951_4_ + 1) == this) + { + object = new InventoryLargeChest("container.testContainer", (IInventory)object, (TileEntityTestContainer)p_149951_1_.getTileEntity(p_149951_2_, p_149951_3_, p_149951_4_ + 1)); + } + + return (IInventory)object; + } + } + + //Bewirkt, dass sich Katzen draufsetzen + private static boolean func_149953_o(World p_149953_0_, int p_149953_1_, int p_149953_2_, int p_149953_3_) + { + Iterator iterator = p_149953_0_.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double)p_149953_1_, (double)(p_149953_2_ + 1), (double)p_149953_3_, (double)(p_149953_1_ + 1), (double)(p_149953_2_ + 2), (double)(p_149953_3_ + 1))).iterator(); + EntityOcelot entityocelot; + + do + { + if (!iterator.hasNext()) + { + return false; + } + + Entity entity = (Entity)iterator.next(); + entityocelot = (EntityOcelot)entity; + } + while (!entityocelot.isSitting()); + + return true; + } + + //Erzeugt ein neues Tileentity + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) + { + TileEntityTestContainer tileentitychest = new TileEntityTestContainer(); + return tileentitychest; + } + + //Registriert das Inventaricon + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister p_149651_1_) + { + this.blockIcon = p_149651_1_.registerIcon(RefStrings.MODID + ":test_container"); + } +} diff --git a/com/hbm/blocks/TestEventTester.java b/com/hbm/blocks/TestEventTester.java new file mode 100644 index 000000000..20b783019 --- /dev/null +++ b/com/hbm/blocks/TestEventTester.java @@ -0,0 +1,239 @@ +package com.hbm.blocks; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import com.hbm.entity.EntityNuclearCreeper; +import com.hbm.entity.EntityNukeExplosion; +import com.hbm.entity.EntityNukeExplosionAdvanced; +import com.hbm.explosion.ExplosionChaos; +import com.hbm.explosion.ExplosionNukeAdvanced; +import com.hbm.main.MainRegistry; +import com.hbm.particles.NukeCloudFX; +import com.hbm.particles.NukeSmokeFX; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.Minecraft; +import net.minecraft.client.particle.EntitySmokeFX; +import net.minecraft.enchantment.EnchantmentProtection; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityFallingBlock; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.ChunkPosition; +import net.minecraft.world.World; + +public class TestEventTester extends Block { + + protected TestEventTester(Material p_i45394_1_) { + super(p_i45394_1_); + } + public float explosionSize = 1000F; + private Map field_77288_k = new HashMap(); + protected static Random itemRand = new Random(); + public World worldObj; + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + this.worldObj = p_149695_1_; + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + + ExplosionChaos.mirv(this.worldObj, x, y + 20, z); + //killEvent(p_149695_1_, x, y, z); + /*EntityNuclearCreeper e = new EntityNuclearCreeper(p_149695_1_); + e.posX = x; + e.posY = y + 1; + e.posZ = z; + if(!p_149695_1_.isRemote) + { + p_149695_1_.spawnEntityInWorld(e); + } + /*if(p_149695_1_.isRemote) + { + ExplosionNukeAdvanced.mush(p_149695_1_, x, y, z); + }*/ + } + } + + /*public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + this.worldObj = world; + if(world.isRemote) + { + return true; + } else if(!player.isSneaking()) + { + //killEvent(world, x, y, z); + world.spawnParticle("smoke", (double)x, (double)y + 1, (double)z, 0.0D, 1.0D, 0.0D); + + return true; + } else { + return false; + } + }*/ + + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) + { + /*double d = (float)par2 + 0.5F; + double d1 = (float)par3 + 0.7F; + double d2 = (float)par4 + 0.5F; + double d3 = 0.2199999988079071D; + double d4 = 0.27000001072883606D; + par1World.spawnParticle("smoke", d - d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", d - d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D); + //Minecraft.getMinecraft().effectRenderer.addEffect(new NukeSmokeFX(par1World, d - d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D, 100, 100)); + //NukeCloudFX part = new NukeCloudFX(par1World, d - d4, d1 + d3, d2, 0.0D, 0.0D, 0.0D, 100); + //part. + //Minecraft.getMinecraft().effectRenderer.addEffect(part); + { + return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); + if(par1World.isRemote) + { + ExplosionNukeAdvanced.mush(par1World, par2, par3, par4); + } + }*/ + + //ExplosionThutmose splosion = new ExplosionThutmose(par1World, null, (double) par2 + 0.5D, (double) par3 + 0.5D, (double) par4 + 0.5D, 10); + //splosion.doExplosion(); + + //par1World.setBlock(par2, par3, par4, Blocks.air); + //ExplosionChaos.anvil(par1World, par2, par3 + 2, par4, 1); + + //return true; + return false; + } + + /*public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int i, float a, float b, float c) + { + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(world); + entity.posX = x; + entity.posY = y; + entity.posZ = z; + entity.destructionRange = 20; + entity.speed = 25; + entity.coefficient = 3.5F; + + world.spawnEntityInWorld(entity); + + System.out.print("\nCALLED!!"); + + return true; + }*/ + + public void killEvent(World world, int x, int y, int z) { + + world.playSoundEffect((double)x + 0.5D, (double)y + 0.5D, (double)z + 0.5D, "random.break", 1.0F, itemRand.nextFloat() * 0.4F + 0.8F); + float f = this.explosionSize; + HashSet hashset = new HashSet(); + int i; + int j; + int k; + double d5; + double d6; + double d7; + double wat = 20.0D; + + + this.explosionSize *= 2.0F; + i = MathHelper.floor_double(x - wat - 1.0D); + j = MathHelper.floor_double(x + wat + 1.0D); + k = MathHelper.floor_double(y - wat - 1.0D); + int i2 = MathHelper.floor_double(y + wat + 1.0D); + int l = MathHelper.floor_double(z - wat - 1.0D); + int j2 = MathHelper.floor_double(z + wat + 1.0D); + List list = world.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox((double)i, (double)k, (double)l, (double)j, (double)i2, (double)j2)); + Vec3 vec3 = Vec3.createVectorHelper(x, y, z); + Vec3 vec4 = Vec3.createVectorHelper(x, y + 1, z); + + for (int i1 = 0; i1 < list.size(); ++i1) + { + Entity entity = (Entity)list.get(i1); + double d4 = entity.getDistance(x, y, z) / (double)this.explosionSize; + + if (d4 <= 1.0D) + { + d5 = entity.posX - x; + d6 = entity.posY + (double)entity.getEyeHeight() - y; + d7 = entity.posZ - z; + double d9 = (double)MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); + + if (d9 < wat) + { + d5 /= d9; + d6 /= d9; + d7 /= d9; + double d10 = (double)world.getBlockDensity(vec4, entity.boundingBox); + double d11 = (1.0D - d4) * d10; + //entity.attackEntityFrom(DamageSource.generic, (float)(100 - d9/wat*100/d10)); + + if(!entity.worldObj.isRemote && !entity.isDead) + { + entity.setFire(50); + //entity.setDead(); + } + + //entity.attackEntityFrom(DamageSource.generic, (float)((int)((d11 * d11 + d11) / 2.0D * 8.0D * (double)this.explosionSize + 1.0D))); + double d8 = EnchantmentProtection.func_92092_a(entity, d11); + entity.motionX += d5 * d8; + entity.motionY += d6 * d8; + entity.motionZ += d7 * d8; + + if (entity instanceof EntityPlayer) + { + this.field_77288_k.put((EntityPlayer)entity, Vec3.createVectorHelper(d5 * d11, d6 * d11, d7 * d11)); + } + } + } + } + + this.explosionSize = f; + } + + /*public void killEvent1(World world, int x, int y, int z) { + double explosionDimension = 20.0D; + float damageDealt = 1000.0F; + world.playSoundEffect((double)x + 0.5D, (double)y + 0.5D, (double)z + 0.5D, "random.break", 1.0F, itemRand.nextFloat() * 0.4F + 0.8F); + + List list = world.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(explosionDimension, explosionDimension, explosionDimension, -explosionDimension, -explosionDimension, -explosionDimension)); //Many thanks Pridenauer, it's a fucking cube now, are you proud of yourself now? Oh, yes you are -_- + + for(int i = 0; i < list.size(); i++) + { + Entity entity = (Entity)list.get(i); + entity.attackEntityFrom(DamageSource.generic, damageDealt); + + double d5 = entity.posX - x; + double d6 = entity.posY + (double)entity.getEyeHeight() - y; + double d7 = entity.posZ - z; + double d9 = (double)MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); + double d4 = entity.getDistance(x, y, z) / (double)this.explosionSize; + d5 /= d9; + d6 /= d9; + d7 /= d9; + Vec3 vec3 = Vec3.createVectorHelper(x, y, z); + double d10 = (double)world.getBlockDensity(vec3, entity.boundingBox); + double d11 = (1.0D - d4) * d10; + double d8 = EnchantmentProtection.func_92092_a(entity, d11); + entity.motionX += d5 * d8; + entity.motionY += d6 * d8; + entity.motionZ += d7 * d8; + } + }*/ + /* + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) + { + p_149734_1_.spawnParticle("largesmoke", x + 0.5F, y + 1, z + 0.5F, 0, 0, 0); + }*/ + +} diff --git a/com/hbm/blocks/TestMissile.java b/com/hbm/blocks/TestMissile.java new file mode 100644 index 000000000..9c2113d5c --- /dev/null +++ b/com/hbm/blocks/TestMissile.java @@ -0,0 +1,28 @@ +package com.hbm.blocks; + +import com.hbm.entity.EntityTestMissile; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class TestMissile extends Block { + + protected TestMissile(Material p_i45394_1_) { + super(p_i45394_1_); + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + TileEntityTestNuke entity = (TileEntityTestNuke) p_149695_1_.getTileEntity(x, y, z); + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + EntityTestMissile missile = new EntityTestMissile(p_149695_1_, x + 150, z + 150, x + 0.5F, y + 2F, z + 0.5F); + p_149695_1_.spawnEntityInWorld(missile); + } + } + +} diff --git a/com/hbm/blocks/TestNuke.java b/com/hbm/blocks/TestNuke.java new file mode 100644 index 000000000..fdb773a88 --- /dev/null +++ b/com/hbm/blocks/TestNuke.java @@ -0,0 +1,266 @@ +package com.hbm.blocks; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.enchantment.EnchantmentProtection; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.passive.EntityOcelot; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class TestNuke extends BlockContainer { + + protected int timer1 = 20; + int timer2 = timer1; + public TileEntityTestNuke tetn = new TileEntityTestNuke(); + + private final Random field_149933_a = new Random(); + private static boolean keepInventory = false; + private Map field_77288_k = new HashMap(); + private boolean isExploding = false; + + protected TestNuke(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityTestNuke(); + + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.test_nuke); + } + + 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) + { + TileEntityTestNuke tileentityfurnace = (TileEntityTestNuke)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 (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, (double)((float)p_149749_2_ + f), (double)((float)p_149749_3_ + f1), (double)((float)p_149749_4_ + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.field_149933_a.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.field_149933_a.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.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_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + 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()) + { + TileEntityTestNuke entity = (TileEntityTestNuke) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_test_nuke, world, x, y, z); + } + return true; + } else { + return false; + } + } + + public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) + { + TileEntityTestNuke entity = (TileEntityTestNuke) p_149695_1_.getTileEntity(x, y, z); + if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) + { + if(entity.getNukeTier() > 0) + { + this.onBlockDestroyedByPlayer(p_149695_1_, x, y, z, 1); + int pootis = entity.getNukeTier(); + entity.clearSlots(); + p_149695_1_.setBlockToAir(x, y, z); + switch(pootis) + { + case 1: + igniteTestBomb(p_149695_1_, x, y, z, 20); break; + case 2: + igniteTestBomb(p_149695_1_, x, y, z, 40); break; + case 999: + igniteTestBomb(p_149695_1_, x, y, z, 200); break; + } + } + } + } + + public boolean igniteTestBomb(World world, int x, int y, int z, int bombStartStrength) + { + if (!world.isRemote) + detonateTestBomb(world,x,y,z, bombStartStrength); + 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 + return false; + } + + public void detonateTestBomb(World world, int x, int y, int z, int bombStartStrength) + { + //Rodol's awesome destruction code + int r = bombStartStrength; //radius of explosion (change this to bigger numbers for more epicness) + int r2 = r*r; //radius^2, for faster distance checks. (No sqrt needed for pythagoras) + int r22 = r2/2; //half of r^2, calculations outside the loop only get called once. Always pull out as many things from the loop as possible. + for (int xx = -r; xx < r; xx++) + { + int X = xx+x; //x coordinate we are working on + int XX = xx*xx; //more stuff for a faster distance check + for (int yy = -r; yy < r; yy++) + { + int Y = yy+y; //y coord + int YY = XX+yy*yy*3; + for (int zz = -r; zz < r; zz++) + { + int Z = zz+z; //z coord + int ZZ = YY+zz*zz; //final= x*x+y*y+z*z. remind you of anything? + if (ZZ getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.bombMulti"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 1; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + @Override + public void openInventory() { + + } + + @Override + public void closeInventory() { + + } + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + public boolean isLoaded(){ + + if(slots[0] != null && slots[0].getItem() == Item.getItemFromBlock(Blocks.tnt) && + slots[1] != null && slots[1].getItem() == Item.getItemFromBlock(Blocks.tnt) && + slots[3] != null && slots[3].getItem() == Item.getItemFromBlock(Blocks.tnt) && + slots[4] != null && slots[4].getItem() == Item.getItemFromBlock(Blocks.tnt)) + { + return true; + } + + return false; + } + + public int return2type() { + + if(slots[2] != null) + { + if(slots[2].getItem() == Items.gunpowder) + { + return 1; + } + + if(slots[2].getItem() == Item.getItemFromBlock(Blocks.tnt)) + { + return 2; + } + + if(slots[2].getItem() == ModItems.pellet_cluster) + { + return 3; + } + + if(slots[2].getItem() == ModItems.powder_fire) + { + return 4; + } + + if(slots[2].getItem() == ModItems.powder_poison) + { + return 5; + } + + if(slots[2].getItem() == ModItems.pellet_gas) + { + return 6; + } + } + return 0; + } + + public int return5type() { + + if(slots[5] != null) + { + if(slots[5].getItem() == Items.gunpowder) + { + return 1; + } + + if(slots[5].getItem() == Item.getItemFromBlock(Blocks.tnt)) + { + return 2; + } + + if(slots[5].getItem() == ModItems.pellet_cluster) + { + return 3; + } + + if(slots[5].getItem() == ModItems.powder_fire) + { + return 4; + } + + if(slots[5].getItem() == ModItems.powder_poison) + { + return 5; + } + + if(slots[5].getItem() == ModItems.pellet_gas) + { + return 6; + } + } + return 0; + } + + public void clearSlots() { + for(int i = 0; i < slots.length; i++) + { + slots[i] = null; + } + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } +} \ No newline at end of file diff --git a/com/hbm/blocks/TileEntityDecoBlock.java b/com/hbm/blocks/TileEntityDecoBlock.java new file mode 100644 index 000000000..6e69eebbd --- /dev/null +++ b/com/hbm/blocks/TileEntityDecoBlock.java @@ -0,0 +1,13 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityDecoBlock extends TileEntity { + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } + +} diff --git a/com/hbm/blocks/TileEntityDecoBlockAlt.java b/com/hbm/blocks/TileEntityDecoBlockAlt.java new file mode 100644 index 000000000..c97784cd8 --- /dev/null +++ b/com/hbm/blocks/TileEntityDecoBlockAlt.java @@ -0,0 +1,13 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityDecoBlockAlt extends TileEntity { + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } + +} diff --git a/com/hbm/blocks/TileEntityDecoBlockAltF.java b/com/hbm/blocks/TileEntityDecoBlockAltF.java new file mode 100644 index 000000000..7b4fd5fb2 --- /dev/null +++ b/com/hbm/blocks/TileEntityDecoBlockAltF.java @@ -0,0 +1,74 @@ +package com.hbm.blocks; + +import java.util.HashSet; +import java.util.List; + +import com.hbm.entity.EntityNuclearCreeper; +import com.hbm.lib.Library; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; + +public class TileEntityDecoBlockAltF extends TileEntity { + + public void updateEntity() { + int strength = 4; + float f = strength; + HashSet hashset = new HashSet(); + int i; + int j; + int k; + double d5; + double d6; + double d7; + double wat = 4*2; + boolean isOccupied = false; + + + strength *= 2.0F; + i = MathHelper.floor_double(this.xCoord - wat - 1.0D); + j = MathHelper.floor_double(this.xCoord + wat + 1.0D); + k = MathHelper.floor_double(this.yCoord - wat - 1.0D); + int i2 = MathHelper.floor_double(this.yCoord + wat + 1.0D); + int l = MathHelper.floor_double(this.zCoord - wat - 1.0D); + int j2 = MathHelper.floor_double(this.zCoord + wat + 1.0D); + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox((double)i, (double)k, (double)l, (double)j, (double)i2, (double)j2)); + Vec3 vec3 = Vec3.createVectorHelper(this.xCoord, this.yCoord, this.zCoord); + + for (int i1 = 0; i1 < list.size(); ++i1) + { + Entity entity = (Entity)list.get(i1); + double d4 = entity.getDistance(this.xCoord, this.yCoord, this.zCoord) / (double)4; + + if (d4 <= 1.0D) + { + d5 = entity.posX - this.xCoord; + d6 = entity.posY + (double)entity.getEyeHeight() - this.yCoord; + d7 = entity.posZ - this.zCoord; + double d9 = (double)MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); + if (d9 < wat) + { + if(entity instanceof EntityPlayer) { + ((EntityPlayer)entity).addPotionEffect(new PotionEffect(Potion.heal.id, 5, 99)); + ((EntityPlayer)entity).addPotionEffect(new PotionEffect(Potion.field_76443_y.id, 5, 99)); + } + } + } + } + + strength = (int)f; + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } +} diff --git a/com/hbm/blocks/TileEntityDecoBlockAltG.java b/com/hbm/blocks/TileEntityDecoBlockAltG.java new file mode 100644 index 000000000..ac98aec71 --- /dev/null +++ b/com/hbm/blocks/TileEntityDecoBlockAltG.java @@ -0,0 +1,13 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityDecoBlockAltG extends TileEntity { + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } + +} diff --git a/com/hbm/blocks/TileEntityDecoBlockAltW.java b/com/hbm/blocks/TileEntityDecoBlockAltW.java new file mode 100644 index 000000000..cc445512c --- /dev/null +++ b/com/hbm/blocks/TileEntityDecoBlockAltW.java @@ -0,0 +1,13 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityDecoBlockAltW extends TileEntity { + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } + +} diff --git a/com/hbm/blocks/TileEntityDecoPoleSatelliteReceiver.java b/com/hbm/blocks/TileEntityDecoPoleSatelliteReceiver.java new file mode 100644 index 000000000..28277f11e --- /dev/null +++ b/com/hbm/blocks/TileEntityDecoPoleSatelliteReceiver.java @@ -0,0 +1,7 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityDecoPoleSatelliteReceiver extends TileEntity { + +} diff --git a/com/hbm/blocks/TileEntityDecoPoleTop.java b/com/hbm/blocks/TileEntityDecoPoleTop.java new file mode 100644 index 000000000..e3365803a --- /dev/null +++ b/com/hbm/blocks/TileEntityDecoPoleTop.java @@ -0,0 +1,7 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityDecoPoleTop extends TileEntity { + +} diff --git a/com/hbm/blocks/TileEntityDecoSteelPoles.java b/com/hbm/blocks/TileEntityDecoSteelPoles.java new file mode 100644 index 000000000..278256468 --- /dev/null +++ b/com/hbm/blocks/TileEntityDecoSteelPoles.java @@ -0,0 +1,7 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityDecoSteelPoles extends TileEntity { + +} diff --git a/com/hbm/blocks/TileEntityDecoTapeRecorder.java b/com/hbm/blocks/TileEntityDecoTapeRecorder.java new file mode 100644 index 000000000..a4b8c8a9c --- /dev/null +++ b/com/hbm/blocks/TileEntityDecoTapeRecorder.java @@ -0,0 +1,27 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityDecoTapeRecorder extends TileEntity { + + private int rot = 0; + + public int getRotation() { + if(this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord) instanceof DecoTapeRecorder) + { + if(this.worldObj.isBlockIndirectlyGettingPowered(this.xCoord, this.yCoord, this.zCoord)) + { + rot += 3; + if(rot >= 360) + { + rot -=360; + } + return rot; + } + + rot = 0; + } + + return 0; + } +} diff --git a/com/hbm/blocks/TileEntityDiFurnace.java b/com/hbm/blocks/TileEntityDiFurnace.java new file mode 100644 index 000000000..50b75f9bd --- /dev/null +++ b/com/hbm/blocks/TileEntityDiFurnace.java @@ -0,0 +1,359 @@ +package com.hbm.blocks; + +import com.hbm.gui.MachineRecipes; +import com.hbm.items.ModItems; + +import net.minecraft.block.BlockFurnace; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityDiFurnace extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int dualCookTime; + public int dualPower; + public static final int maxPower = 100000; + public static final int processingSpeed = 100; + public boolean runsOnRtg = false; + + private static final int[] slots_top = new int[] {0, 1}; + private static final int[] slots_bottom = new int[] {3}; + private static final int[] slots_side = new int[] {2}; + + private String customName; + + public TileEntityDiFurnace() { + slots = new ItemStack[4]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.diFurnace"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + //You scrubs aren't needed for anything (right now) + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return i == 2 ? false : (i == 1 ? hasItemPower(itemStack) : true); + } + + public boolean hasItemPower(ItemStack itemStack) { + return getItemPower(itemStack) > 0; + } + + private static int getItemPower(ItemStack itemStack) { + if(itemStack == null) + { + return 0; + }else{ + Item item = itemStack.getItem(); + + if(item == Items.coal) return 2500; + if(item == Item.getItemFromBlock(Blocks.coal_block)) return 25000; + if(item == Items.lava_bucket) return 50000; + if(item == Items.redstone) return 1000; + if(item == Item.getItemFromBlock(Blocks.redstone_block)) return 10000; + if(item == Item.getItemFromBlock(Blocks.netherrack)) return 1750; + if(item == Items.blaze_rod) return 15000; + if(item == Items.blaze_powder) return 5000; + + return 0; + } + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + this.dualPower = nbt.getShort("powerTime"); + this.dualCookTime = nbt.getShort("cookTime"); + this.runsOnRtg = nbt.getBoolean("runsOnRtg"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("powerTime", (short) dualPower); + nbt.setShort("cookTime", (short) dualCookTime); + nbt.setBoolean("runsOnRtg", runsOnRtg); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public int getDiFurnaceProgressScaled(int i) { + return (dualCookTime * i) / processingSpeed; + } + + public int getPowerRemainingScaled(int i) { + return (dualPower * i) / maxPower; + } + + public boolean canProcess() { + if(slots[0] == null || slots[1] == null) + { + return false; + } + ItemStack itemStack = MachineRecipes.getFurnaceProcessingResult(slots[0].getItem(), slots[1].getItem()); + if(itemStack == null) + { + return false; + } + + if(slots[3] == null) + { + return true; + } + + if(!slots[3].isItemEqual(itemStack)) { + return false; + } + + if(slots[3].stackSize < getInventoryStackLimit() && slots[3].stackSize < slots[3].getMaxStackSize()) { + return true; + }else{ + return slots[3].stackSize < itemStack.getMaxStackSize(); + } + } + + private void processItem() { + if(canProcess()) { + ItemStack itemStack = MachineRecipes.getFurnaceProcessingResult(slots[0].getItem(), slots[1].getItem()); + + if(slots[3] == null) + { + slots[3] = itemStack.copy(); + }else if(slots[3].isItemEqual(itemStack)) { + slots[3].stackSize += itemStack.stackSize; + } + + for(int i = 0; i < 2; i++) + { + if(slots[i].stackSize <= 0) + { + slots[i] = new ItemStack(slots[i].getItem().setFull3D()); + }else{ + slots[i].stackSize--; + } + if(slots[i].stackSize <= 0) + { + slots[i] = null; + } + } + } + } + + public boolean hasPower() { + return dualPower > 0; + } + + public boolean isProcessing() { + return this.dualCookTime > 0; + } + + public void updateEntity() { + boolean flag = this.hasPower(); + boolean flag1 = false; + + if(this.runsOnRtg && this.dualPower != maxPower) + { + this.dualPower = maxPower; + } + + if(hasPower() && isProcessing()) + { + if(!this.runsOnRtg) + { + this.dualPower = this.dualPower - 50; + } + if(this.dualPower < 0) + { + this.dualPower = 0; + } + } + + //if(!worldObj.isRemote) + { + if(this.hasItemPower(this.slots[2]) && this.dualPower <= (this.maxPower - this.getItemPower(this.slots[2]))) + { + this.dualPower += getItemPower(this.slots[2]); + if(this.slots[2] != null) + { + flag1 = true; + this.slots[2].stackSize--; + if(this.slots[2].stackSize == 0) + { + this.slots[2] = this.slots[2].getItem().getContainerItem(this.slots[2]); + } + } + } + + if(this.slots[2] != null && this.slots[2].getItem() == ModItems.pellet_rtg && this.dualPower == 0) + { + this.slots[2].stackSize--; + if(this.slots[2].stackSize == 0) + { + this.slots[2] = this.slots[2].getItem().getContainerItem(this.slots[2]); + } + + this.runsOnRtg = true; + } + + if(hasPower() && canProcess()) + { + dualCookTime++; + + if(this.dualCookTime == this.processingSpeed) + { + this.dualCookTime = 0; + this.processItem(); + flag1 = true; + } + }else{ + dualCookTime = 0; + } + + boolean trigger = true; + + if(hasPower() && canProcess() && this.dualCookTime == 0) + { + trigger = false; + } + + if(trigger) + { + flag1 = true; + MachineDiFurnace.updateBlockState(this.dualCookTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(flag1) + { + this.markDirty(); + } + } +} diff --git a/com/hbm/blocks/TileEntityLaunchPad.java b/com/hbm/blocks/TileEntityLaunchPad.java new file mode 100644 index 000000000..bb85088ca --- /dev/null +++ b/com/hbm/blocks/TileEntityLaunchPad.java @@ -0,0 +1,415 @@ +package com.hbm.blocks; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; + +public class TileEntityLaunchPad extends TileEntity implements ISidedInventory { + + public ItemStack slots[]; + + public int power; + public final int maxPower = 100000; + + private static final int[] slots_top = new int[] {0}; + private static final int[] slots_bottom = new int[] {2}; + private static final int[] slots_side = new int[] {1}; + + public int targetX = this.xCoord + 50; + public int targetZ = this.zCoord; + + public int state = 0; + public int preState = 0; + + private String customName; + + public TileEntityLaunchPad() { + slots = new ItemStack[3]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.launchPad"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + //You scrubs aren't needed for anything (right now) + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return true; + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + power = nbt.getShort("power"); + state = nbt.getShort("state"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); + nbt.setShort("power", (short) power); + nbt.setShort("state", (short) state); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public int getPowerScaled(int i) { + return (power * i) / maxPower; + } + + public void updateEntity() { + + if(/*power + 100 <= maxPower && */slots[2] != null && slots[2].getItem() == ModItems.battery_creative) + { + power = maxPower; + } + + if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.battery_generic && slots[2].getItemDamage() < 50) + { + power += 100; + slots[2].setItemDamage(slots[2].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.battery_advanced && slots[2].getItemDamage() < 200) + { + power += 100; + slots[2].setItemDamage(slots[2].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.battery_schrabidium && slots[2].getItemDamage() < 1000) + { + power += 100; + slots[2].setItemDamage(slots[2].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.fusion_core && slots[2].getItemDamage() < 5000) + { + power += 100; + slots[2].setItemDamage(slots[2].getItemDamage() + 1); + } + + this.preState = this.state; + + if(this.slots[0] == null || + (this.slots[0] != null && + (this.slots[0].getItem() != ModItems.missile_generic && + this.slots[0].getItem() != ModItems.missile_strong && + this.slots[0].getItem() != ModItems.missile_cluster && + this.slots[0].getItem() != ModItems.missile_nuclear && + this.slots[0].getItem() != ModItems.missile_incendiary && + this.slots[0].getItem() != ModItems.missile_buster && + this.slots[0].getItem() != ModItems.missile_incendiary_strong && + this.slots[0].getItem() != ModItems.missile_cluster_strong && + this.slots[0].getItem() != ModItems.missile_buster_strong && + this.slots[0].getItem() != ModItems.missile_burst && + this.slots[0].getItem() != ModItems.missile_inferno && + this.slots[0].getItem() != ModItems.missile_rain && + this.slots[0].getItem() != ModItems.missile_drill && + this.slots[0].getItem() != ModItems.missile_endo && + this.slots[0].getItem() != ModItems.missile_exo && + this.slots[0].getItem() != ModItems.missile_nuclear_cluster))) + { + this.state = 0; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_generic) + { + this.state = 1; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_strong) + { + this.state = 2; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_cluster) + { + this.state = 3; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_nuclear) + { + this.state = 4; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_incendiary) + { + this.state = 5; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_buster) + { + this.state = 6; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_incendiary_strong) + { + this.state = 7; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_cluster_strong) + { + this.state = 8; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_buster_strong) + { + this.state = 9; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_burst) + { + this.state = 10; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_inferno) + { + this.state = 11; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_rain) + { + this.state = 12; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_drill) + { + this.state = 13; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_endo) + { + this.state = 14; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_exo) + { + this.state = 15; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.missile_nuclear_cluster) + { + this.state = 16; + + if(this.state != this.preState) + { + LaunchPad.updateBlockState(this.state, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } + + public World getThatWorld() { + return this.worldObj; + } + +} diff --git a/com/hbm/blocks/TileEntityMachineBattery.java b/com/hbm/blocks/TileEntityMachineBattery.java new file mode 100644 index 000000000..73689b47e --- /dev/null +++ b/com/hbm/blocks/TileEntityMachineBattery.java @@ -0,0 +1,503 @@ +package com.hbm.blocks; + +import com.hbm.gui.MachineRecipes; +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityMachineBattery extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int power = 0; + public final int maxPower = 100000; + + public boolean conducts = false; + + private static final int[] slots_top = new int[] {0}; + private static final int[] slots_bottom = new int[] {0, 1}; + private static final int[] slots_side = new int[] {1}; + + private String customName; + + public TileEntityMachineBattery() { + slots = new ItemStack[2]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.battery"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 1; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return true; + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + this.power = nbt.getShort("power"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("power", (short) power); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public int getPowerRemainingScaled(int i) { + return (power * i) / maxPower; + } + + public void updateEntity() { + if(this.conducts) + { + /*//Electric Furnace + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + //Wire + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + //Deuterium + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + //Batteries + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + }*/ + + + //Energy distributing algorithm V2.1 + TileEntity entity0 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + TileEntity entity1 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + TileEntity entity2 = worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + TileEntity entity3 = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + TileEntity entity4 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + TileEntity entity5 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + + TileEntity entity; + + for(int i = 0; i < 6; i++) + { + entity = entity0; + if(i == 1) entity = entity1; + if(i == 2) entity = entity2; + if(i == 3) entity = entity3; + if(i == 4) entity = entity4; + if(i == 5) entity = entity5; + + if(entity instanceof TileEntityMachineElectricFurnace || + entity instanceof TileEntityWireCoated || + entity instanceof TileEntityMachineDeuterium || + entity instanceof TileEntityMachineBattery || + entity instanceof TileEntityLaunchPad) + { + if(entity instanceof TileEntityMachineElectricFurnace && ((TileEntityMachineElectricFurnace)entity).power + 100 <= ((TileEntityMachineElectricFurnace)entity).maxPower) + { + ((TileEntityMachineElectricFurnace)entity).power += 100; + this.power -= 100; + } else + if(entity instanceof TileEntityWireCoated && ((TileEntityWireCoated)entity).power + 100 <= ((TileEntityWireCoated)entity).maxPower) + { + ((TileEntityWireCoated)entity).power += 100; + this.power -= 100; + } else + if(entity instanceof TileEntityMachineDeuterium && ((TileEntityMachineDeuterium)entity).power + 100 <= ((TileEntityMachineDeuterium)entity).maxPower) + { + ((TileEntityMachineDeuterium)entity).power += 100; + this.power -= 100; + } else + if(entity instanceof TileEntityMachineBattery && ((TileEntityMachineBattery)entity).power + 100 <= ((TileEntityMachineBattery)entity).maxPower && !((TileEntityMachineBattery)entity).conducts) + { + ((TileEntityMachineBattery)entity).power += 100; + this.power -= 100; + } + } + } + } + + if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.battery_generic && slots[1].getItemDamage() > 0) + { + power -= 100; + slots[1].setItemDamage(slots[1].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.battery_advanced && slots[1].getItemDamage() > 0) + { + power -= 100; + slots[1].setItemDamage(slots[1].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.battery_schrabidium && slots[1].getItemDamage() > 0) + { + power -= 100; + slots[1].setItemDamage(slots[1].getItemDamage() - 1); + } + + if(/*power + 100 <= maxPower && */slots[0] != null && slots[0].getItem() == ModItems.battery_creative) + { + power = maxPower; + } + + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_generic && slots[0].getItemDamage() < 50) + { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_advanced && slots[0].getItemDamage() < 200) + { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() < 1000) + { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.fusion_core && slots[0].getItemDamage() < 5000) + { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + } + +} diff --git a/com/hbm/blocks/TileEntityMachineCentrifuge.java b/com/hbm/blocks/TileEntityMachineCentrifuge.java new file mode 100644 index 000000000..f61a5e8bb --- /dev/null +++ b/com/hbm/blocks/TileEntityMachineCentrifuge.java @@ -0,0 +1,417 @@ +package com.hbm.blocks; + +import com.hbm.gui.MachineRecipes; +import com.hbm.items.ModItems; + +import net.minecraft.block.BlockFurnace; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityMachineCentrifuge extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int dualCookTime; + public int dualPower; + public static final int maxPower = 100000; + public static final int processingSpeed = 500; + public boolean runsOnRtg = false; + + private static final int[] slots_top = new int[] {0, 1}; + private static final int[] slots_bottom = new int[] {3}; + private static final int[] slots_side = new int[] {2}; + + private String customName; + + public TileEntityMachineCentrifuge() { + slots = new ItemStack[6]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.centrifuge"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + //You scrubs aren't needed for anything (right now) + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return i == 2 ? false : (i == 1 ? hasItemPower(itemStack) : true); + } + + public boolean hasItemPower(ItemStack itemStack) { + return getItemPower(itemStack) > 0; + } + + private static int getItemPower(ItemStack itemStack) { + if(itemStack == null) + { + return 0; + }else{ + Item item = itemStack.getItem(); + + if(item == Items.coal) return 2500; + if(item == Item.getItemFromBlock(Blocks.coal_block)) return 25000; + if(item == Items.lava_bucket) return 50000; + if(item == Items.redstone) return 1000; + if(item == Item.getItemFromBlock(Blocks.redstone_block)) return 10000; + if(item == Item.getItemFromBlock(Blocks.netherrack)) return 1750; + if(item == Items.blaze_rod) return 15000; + if(item == Items.blaze_powder) return 5000; + + return 0; + } + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + dualPower = nbt.getShort("powerTime"); + dualCookTime = nbt.getShort("CookTime"); + runsOnRtg = nbt.getBoolean("runsOnRtg"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("powerTime", (short) dualPower); + nbt.setShort("cookTime", (short) dualCookTime); + nbt.setBoolean("runsOnRtg", runsOnRtg); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public int getCentrifugeProgressScaled(int i) { + return (dualCookTime * i) / processingSpeed; + } + + public int getPowerRemainingScaled(int i) { + return (dualPower * i) / maxPower; + } + + + public boolean canProcess() { + if(slots[0] == null) + { + return false; + } + ItemStack[] itemStack = MachineRecipes.getCentrifugeProcessingResult(slots[0].getItem()); + if(itemStack == null) + { + return false; + } + + if(slots[2] == null && slots[3] == null && slots[4] == null && slots[5] == null) + { + return true; + } + + if((slots[2] == null || (itemStack[0] != null && (slots[2].isItemEqual(itemStack[0])) && slots[2].stackSize + itemStack[0].stackSize <= itemStack[0].getMaxStackSize())) && + (slots[3] == null || (itemStack[1] != null && (slots[3].isItemEqual(itemStack[1])) && slots[3].stackSize + itemStack[1].stackSize <= itemStack[1].getMaxStackSize())) && + (slots[4] == null || (itemStack[2] != null && (slots[4].isItemEqual(itemStack[2])) && slots[4].stackSize + itemStack[2].stackSize <= itemStack[2].getMaxStackSize())) && + (slots[5] == null || (itemStack[3] != null && (slots[5].isItemEqual(itemStack[3])) && slots[5].stackSize + itemStack[3].stackSize <= itemStack[3].getMaxStackSize()))) + { + return true; + } + + return false; + } + + private void processItem() { + if(canProcess()) { + ItemStack[] itemStack = MachineRecipes.getCentrifugeProcessingResult(slots[0].getItem()); + + if(slots[2] == null && itemStack[0] != null) + { + slots [2] = itemStack[0].copy(); + }else if(itemStack[0] != null && slots[2].isItemEqual(itemStack[0])) + { + slots[2].stackSize += itemStack[0].stackSize; + } + + if(slots[3] == null && itemStack[1] != null) + { + slots [3] = itemStack[1].copy(); + }else if(itemStack[1] != null && slots[3].isItemEqual(itemStack[1])) + { + slots[3].stackSize += itemStack[1].stackSize; + } + + if(slots[4] == null && itemStack[2] != null) + { + slots [4] = itemStack[2].copy(); + }else if(itemStack[2] != null && slots[4].isItemEqual(itemStack[2])) + { + slots[4].stackSize += itemStack[2].stackSize; + } + + if(slots[5] == null && itemStack[3] != null) + { + slots [5] = itemStack[3].copy(); + }else if(itemStack[3] != null && slots[5].isItemEqual(itemStack[3])) + { + slots[5].stackSize += itemStack[3].stackSize; + } + /* + if(slots[2] == null && slots[3] == null && slots[4] == null && slots[5] == null) + { + if(itemStack[0] != null) + { + slots[2] = itemStack[0].copy(); + } + + if(itemStack[1] != null) + { + slots[3] = itemStack[1].copy(); + } + + if(itemStack[2] != null) + { + slots[4] = itemStack[2].copy(); + } + + if(itemStack[3] != null) + { + slots[5] = itemStack[3].copy(); + } + }else if(slots[2].isItemEqual(itemStack[0]) && slots[3].isItemEqual(itemStack[1]) && slots[4].isItemEqual(itemStack[2]) && slots[5].isItemEqual(itemStack[3])) { + slots[2].stackSize += itemStack[0].stackSize; + slots[3].stackSize += itemStack[1].stackSize; + slots[4].stackSize += itemStack[2].stackSize; + slots[5].stackSize += itemStack[3].stackSize; + }*/ + + for(int i = 0; i < 1; i++) + { + if(slots[i].stackSize <= 0) + { + slots[i] = new ItemStack(slots[i].getItem().setFull3D()); + }else{ + slots[i].stackSize--; + } + if(slots[i].stackSize <= 0) + { + slots[i] = null; + } + } + } + } + + public boolean hasPower() { + return dualPower > 0; + } + + public boolean isProcessing() { + return this.dualCookTime > 0; + } + + public void updateEntity() { + boolean flag = this.hasPower(); + boolean flag1 = false; + + if(this.runsOnRtg && this.dualPower != maxPower) + { + this.dualPower = maxPower; + } + + if(hasPower() && isProcessing()) + { + if(!this.runsOnRtg) + { + this.dualPower = this.dualPower - 50; + } + if(this.dualPower < 0) + { + this.dualPower = 0; + } + } + + if(!worldObj.isRemote) + { + if(this.hasItemPower(this.slots[1]) && this.dualPower <= (this.maxPower - this.getItemPower(this.slots[1]))) + { + this.dualPower += getItemPower(this.slots[1]); + if(this.slots[1] != null) + { + flag1 = true; + this.slots[1].stackSize--; + if(this.slots[1].stackSize == 0) + { + this.slots[1] = this.slots[1].getItem().getContainerItem(this.slots[1]); + } + } + } + + if(this.slots[1] != null && this.slots[1].getItem() == ModItems.pellet_rtg && this.dualPower == 0) + { + this.slots[1].stackSize--; + if(this.slots[1].stackSize == 0) + { + this.slots[1] = this.slots[1].getItem().getContainerItem(this.slots[1]); + } + + this.runsOnRtg = true; + } + + if(hasPower() && canProcess()) + { + dualCookTime++; + + if(this.dualCookTime == this.processingSpeed) + { + this.dualCookTime = 0; + this.processItem(); + } + }else{ + dualCookTime = 0; + } + + boolean trigger = true; + + if(hasPower() && canProcess() && this.dualCookTime == 0) + { + trigger = false; + } + + if(trigger) + { + flag1 = true; + } + } + + if(flag1) + { + this.markDirty(); + } + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } +} diff --git a/com/hbm/blocks/TileEntityMachineCoal.java b/com/hbm/blocks/TileEntityMachineCoal.java new file mode 100644 index 000000000..e24d31efe --- /dev/null +++ b/com/hbm/blocks/TileEntityMachineCoal.java @@ -0,0 +1,549 @@ +package com.hbm.blocks; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; + +import com.hbm.items.ModItems; + +public class TileEntityMachineCoal extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int power; + public int water; + public int burnTime; + public static final int maxPower = 10000; + public static final int maxWater = 10000; + + private static final int[] slots_top = new int[] {1}; + private static final int[] slots_bottom = new int[] {2}; + private static final int[] slots_side = new int[] {0}; + + private String customName; + + public TileEntityMachineCoal() { + slots = new ItemStack[3]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.machineCoal"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + //You scrubs aren't needed for anything (right now) + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return true; + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + this.power = nbt.getShort("powerTime"); + this.water = nbt.getShort("water"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("powerTime", (short) power); + nbt.setShort("water", (short) water); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public int getWaterScaled(int i) { + return (water * i) / maxWater; + } + + public int getPowerScaled(int i) { + return (power * i) / maxPower; + } + + public void updateEntity() { + //Water + if(slots[0] != null && slots[0].getItem() == Items.water_bucket && this.water + 2500 <= maxWater) + { + this.slots[0].stackSize--; + this.water += 2500; + if(this.slots[0].stackSize == 0) + { + this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]); + } + } + if(slots[0] != null && slots[0].getItem() == ModItems.rod_water && this.water + 2500 <= maxWater) + { + this.slots[0].stackSize--; + this.water += 2500; + if(this.slots[0].stackSize == 0) + { + this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]); + } + } + if(slots[0] != null && slots[0].getItem() == ModItems.rod_dual_water && this.water + 5000 <= maxWater) + { + this.slots[0].stackSize--; + this.water += 5000; + if(this.slots[0].stackSize == 0) + { + this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]); + } + } + if(slots[0] != null && slots[0].getItem() == ModItems.rod_quad_water && this.water + 10000 <= maxWater) + { + this.slots[0].stackSize--; + this.water += 10000; + if(this.slots[0].stackSize == 0) + { + this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]); + } + } + + //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); + } + + //Electric Furnace + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + //Wire + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + //Deuterium + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + //Batteries + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof LaunchPad) + { + TileEntityLaunchPad entity = (TileEntityLaunchPad) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + boolean flag = this.burnTime > 0; + boolean flag1 = false; + + if(!worldObj.isRemote) + { + + boolean trigger = true; + + if(isItemValid() && this.burnTime == 0) + { + trigger = false; + } + + if(trigger) + { + flag1 = true; + MachineCoal.updateBlockState(this.burnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + generate(); + } + + public void generate() { + if(slots[1] != null && slots[1].getItem() == Items.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; + burnTime = 2000; + if(slots[1].stackSize == 0) + { + slots[1] = null; + } + } + + if(burnTime > 0) + { + burnTime--; + + if(water > 0) + { + water -= 1; + + if(power + 1 <= maxPower) + { + power += 10; + } + } + } + } + + public boolean isItemValid() { + + if(slots[1] != null && slots[1].getItem() == Items.coal) + { + return true; + } + if(slots[1] != null && slots[1].getItem() == Item.getItemFromBlock(Blocks.coal_block)) + { + return true; + } + + return false; + } +} diff --git a/com/hbm/blocks/TileEntityMachineDeuterium.java b/com/hbm/blocks/TileEntityMachineDeuterium.java new file mode 100644 index 000000000..95b936a3d --- /dev/null +++ b/com/hbm/blocks/TileEntityMachineDeuterium.java @@ -0,0 +1,325 @@ +package com.hbm.blocks; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityMachineDeuterium extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int power = 0; + public int water = 0; + public int sulfur = 0; + public int process = 0; + public static final int maxFill = 1000; + public static final int maxPower = 10000; + public static final int processSpeed = 200; + + private static final int[] slots_top = new int[] {3}; + private static final int[] slots_bottom = new int[] {4}; + private static final int[] slots_side = new int[] {0, 1, 2}; + + private String customName; + + public TileEntityMachineDeuterium() { + slots = new ItemStack[5]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.machine_deuterium"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + power = nbt.getShort("power"); + water = nbt.getShort("water"); + sulfur = nbt.getShort("sulfur"); + process = nbt.getShort("process"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("power", (short) power); + nbt.setShort("water", (short) water); + nbt.setShort("sulfur", (short) sulfur); + nbt.setShort("process", (short) process); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public int getPowerScaled(int i) { + return (power * i) / maxPower; + } + + public int getWaterScaled(int i) { + return (water * i) / maxFill; + } + + public int getSulfurScaled(int i) { + return (sulfur * i) / maxFill; + } + + public int getProgressScaled(int i) { + return (process * i) / processSpeed; + } + + public boolean canProcess() { + if(water != 0 && power != 0 && sulfur != 0 && slots[3] != null && slots[3].getItem() == ModItems.cell_empty && (slots[4] == null || (slots[4] != null && slots[4].stackSize < 64))) + { + return true; + } + return false; + } + + public boolean isProcessing() { + return process > 0; + } + + public void process() { + water -= 2; + sulfur -= 1; + power -= 5; + + process++; + + if(process >= processSpeed) { + + slots[3].stackSize--; + + if(slots[3].stackSize == 0) + { + slots[3] = null; + } + + if(slots[4] == null) + { + slots[4] = new ItemStack(ModItems.cell_deuterium); + } else { + + slots[4].stackSize++; + } + + process = 0; + } + } + + public void updateEntity() { + if(slots[2] != null && slots[2].getItem() == ModItems.sulfur && sulfur + 125 <= maxFill) + { + sulfur += 125; + slots[2].stackSize--; + if(slots[2].stackSize == 0) + { + slots[2] = null; + } + } + + if(slots[1] != null && slots[1].getItem() == Items.water_bucket && water + 250 <= maxFill) + { + water += 250; + slots[1].stackSize--; + if(slots[1].stackSize == 0) + { + this.slots[1] = this.slots[1].getItem().getContainerItem(this.slots[1]); + } + } + + if(slots[1] != null && slots[1].getItem() == ModItems.rod_water && water + 250 <= maxFill) + { + water += 250; + slots[1].stackSize--; + if(slots[1].stackSize == 0) + { + this.slots[1] = this.slots[1].getItem().getContainerItem(this.slots[1]); + } + } + + if(slots[1] != null && slots[1].getItem() == ModItems.rod_dual_water && water + 500 <= maxFill) + { + water += 500; + slots[1].stackSize--; + if(slots[1].stackSize == 0) + { + this.slots[1] = this.slots[1].getItem().getContainerItem(this.slots[1]); + } + } + + if(slots[1] != null && slots[1].getItem() == ModItems.rod_quad_water && water + 1000 <= maxFill) + { + water += 1000; + slots[1].stackSize--; + if(slots[1].stackSize == 0) + { + this.slots[1] = this.slots[1].getItem().getContainerItem(this.slots[1]); + } + } + + if(/*power + 100 <= maxPower && */slots[0] != null && slots[0].getItem() == ModItems.battery_creative) + { + power = maxPower; + } + + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_generic && slots[0].getItemDamage() < 50) + { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_advanced && slots[0].getItemDamage() < 200) + { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() < 1000) + { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.fusion_core && slots[0].getItemDamage() < 5000) + { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(canProcess()) + { + process(); + } else { + process = 0; + } + } +} diff --git a/com/hbm/blocks/TileEntityMachineElectricFurnace.java b/com/hbm/blocks/TileEntityMachineElectricFurnace.java new file mode 100644 index 000000000..58d285a6d --- /dev/null +++ b/com/hbm/blocks/TileEntityMachineElectricFurnace.java @@ -0,0 +1,324 @@ +package com.hbm.blocks; + +import com.hbm.gui.MachineRecipes; +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityMachineElectricFurnace extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int dualCookTime; + public int power; + public static final int maxPower = 10000; + public static final int processingSpeed = 100; + + private static final int[] slots_top = new int[] {1}; + private static final int[] slots_bottom = new int[] {2}; + private static final int[] slots_side = new int[] {0}; + + private String customName; + + public TileEntityMachineElectricFurnace() { + slots = new ItemStack[3]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.electricFurnace"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + //You scrubs aren't needed for anything (right now) + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return true; + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + this.power = nbt.getShort("powerTime"); + this.dualCookTime = nbt.getShort("cookTime"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("powerTime", (short) power); + nbt.setShort("cookTime", (short) dualCookTime); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public int getDiFurnaceProgressScaled(int i) { + return (dualCookTime * i) / processingSpeed; + } + + public int getPowerRemainingScaled(int i) { + return (power * i) / maxPower; + } + + public boolean hasPower() { + return power > 0; + } + + public boolean isProcessing() { + return this.dualCookTime > 0; + } + + public boolean canProcess() { + if(slots[1] == null) + { + return false; + } + ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]); + if(itemStack == null) + { + return false; + } + + if(slots[2] == null) + { + return true; + } + + if(!slots[2].isItemEqual(itemStack)) { + return false; + } + + if(slots[2].stackSize < getInventoryStackLimit() && slots[2].stackSize < slots[2].getMaxStackSize()) { + return true; + }else{ + return slots[2].stackSize < itemStack.getMaxStackSize(); + } + } + + private void processItem() { + if(canProcess()) { + ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]); + + if(slots[2] == null) + { + slots[2] = itemStack.copy(); + }else if(slots[2].isItemEqual(itemStack)) { + slots[2].stackSize += itemStack.stackSize; + } + + for(int i = 1; i < 2; i++) + { + if(slots[i].stackSize <= 0) + { + slots[i] = new ItemStack(slots[i].getItem().setFull3D()); + }else{ + slots[i].stackSize--; + } + if(slots[i].stackSize <= 0) + { + slots[i] = null; + } + } + + { + power--; + } + } + } + + public void updateEntity() { + boolean flag = this.hasPower(); + boolean flag1 = false; + + if(!worldObj.isRemote) + { + if(hasPower() && canProcess()) + { + dualCookTime++; + + power -= 5; + + if(this.dualCookTime == this.processingSpeed) + { + this.dualCookTime = 0; + this.processItem(); + flag1 = true; + } + }else{ + dualCookTime = 0; + } + + boolean trigger = true; + + if(hasPower() && canProcess() && this.dualCookTime == 0) + { + trigger = false; + } + + if(trigger) + { + flag1 = true; + MachineElectricFurnace.updateBlockState(this.dualCookTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(/*power + 100 <= maxPower && */slots[0] != null && slots[0].getItem() == ModItems.battery_creative) + { + power = maxPower; + } + + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_generic && slots[0].getItemDamage() < 50) + { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_advanced && slots[0].getItemDamage() < 200) + { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() < 1000) + { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.fusion_core && slots[0].getItemDamage() < 5000) + { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(flag1) + { + this.markDirty(); + } + } +} diff --git a/com/hbm/blocks/TileEntityMachineGenerator.java b/com/hbm/blocks/TileEntityMachineGenerator.java new file mode 100644 index 000000000..f8a45a5de --- /dev/null +++ b/com/hbm/blocks/TileEntityMachineGenerator.java @@ -0,0 +1,806 @@ +package com.hbm.blocks; + +import com.hbm.explosion.ExplosionNukeGeneric; +import com.hbm.items.ItemFuelRod; +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityMachineGenerator extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int water; + public final int waterMax = 1000000; + public int cool; + public final int coolMax = 1000000; + public int heat; + public final int heatMax = 100000; + public int power; + public final int powerMax = 100000; + + private static final int[] slots_top = new int[] {}; + private static final int[] slots_bottom = new int[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; + private static final int[] slots_side = new int[] {}; + + private String customName; + + public TileEntityMachineGenerator() { + slots = new ItemStack[12]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.generator"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + //You scrubs aren't needed for anything (right now) + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return true; + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + water = nbt.getShort("water"); + cool = nbt.getShort("cool"); + power = nbt.getShort("power"); + heat = nbt.getShort("heat"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("water", (short) water); + nbt.setShort("cool", (short) cool); + nbt.setShort("power", (short) power); + nbt.setShort("heat", (short) heat); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + //return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + return true; + } + + public int getWaterScaled(int i) { + return (water * i) / waterMax; + } + + public int getCoolantScaled(int i) { + return (cool * i) / coolMax; + } + + public int getPowerScaled(int i) { + return (power * i) / powerMax; + } + + public int getHeatScaled(int i) { + return (heat * i) / heatMax; + } + + public boolean hasWater() { + return water > 0; + } + + public boolean hasCoolant() { + return cool > 0; + } + + public boolean hasPower() { + return power > 0; + } + + public boolean hasHeat() { + return heat > 0; + } + + public void updateEntity() { + + if(!worldObj.isRemote) + { + if(slots[9] != null && slots[9].getItem() == Items.water_bucket && this.water + 250000 <= waterMax) + { + this.slots[9].stackSize--; + this.water += 250000; + if(this.slots[9].stackSize == 0) + { + this.slots[9] = this.slots[9].getItem().getContainerItem(this.slots[9]); + } + } + if(slots[9] != null && slots[9].getItem() == ModItems.rod_water && this.water + 250000 <= waterMax) + { + this.slots[9].stackSize--; + this.water += 250000; + if(this.slots[9].stackSize == 0) + { + this.slots[9] = this.slots[9].getItem().getContainerItem(this.slots[9]); + } + } + if(slots[9] != null && slots[9].getItem() == ModItems.rod_dual_water && this.water + 500000 <= waterMax) + { + this.slots[9].stackSize--; + this.water += 500000; + if(this.slots[9].stackSize == 0) + { + this.slots[9] = this.slots[9].getItem().getContainerItem(this.slots[9]); + } + } + if(slots[9] != null && slots[9].getItem() == ModItems.rod_quad_water && this.water + 1000000 <= waterMax) + { + this.slots[9].stackSize--; + this.water += 1000000; + if(this.slots[9].stackSize == 0) + { + this.slots[9] = this.slots[9].getItem().getContainerItem(this.slots[9]); + } + } + + if(slots[10] != null && slots[10].getItem() == ModItems.rod_coolant && this.cool + 250000 <= coolMax) + { + this.slots[10].stackSize--; + this.cool += 250000; + if(this.slots[10].stackSize == 0) + { + this.slots[10] = this.slots[10].getItem().getContainerItem(this.slots[10]); + } + } + + if(slots[10] != null && slots[10].getItem() == ModItems.rod_dual_coolant && this.cool + 500000 <= coolMax) + { + this.slots[10].stackSize--; + this.cool += 500000; + if(this.slots[10].stackSize == 0) + { + this.slots[10] = this.slots[10].getItem().getContainerItem(this.slots[10]); + } + } + + if(slots[10] != null && slots[10].getItem() == ModItems.rod_quad_coolant && this.cool + 1000000 <= coolMax) + { + this.slots[10].stackSize--; + this.cool += 1000000; + if(this.slots[10].stackSize == 0) + { + this.slots[10] = this.slots[10].getItem().getContainerItem(this.slots[10]); + } + } + + + + for(int i = 0; i < 9; i++) + { + if(slots[i] != null && slots[i].getItem() == ModItems.rod_uranium_fuel) + { + int j = slots[i].getItemDamage(); + this.slots[i].setItemDamage(j += 1); + attemptHeat(1); + attemptPower(10); + + if(this.slots[i].getItemDamage() == this.slots[i].getMaxDamage()) + { + this.slots[i] = new ItemStack(ModItems.rod_uranium_fuel_depleted); + } + } + if(slots[i] != null && slots[i].getItem() == ModItems.rod_dual_uranium_fuel) + { + int j = slots[i].getItemDamage(); + this.slots[i].setItemDamage(j += 1); + attemptHeat(1); + attemptPower(10); + + if(this.slots[i].getItemDamage() == this.slots[i].getMaxDamage()) + { + this.slots[i] = new ItemStack(ModItems.rod_dual_uranium_fuel_depleted); + } + } + if(slots[i] != null && slots[i].getItem() == ModItems.rod_quad_uranium_fuel) + { + int j = slots[i].getItemDamage(); + this.slots[i].setItemDamage(j += 1); + attemptHeat(1); + attemptPower(10); + + if(this.slots[i].getItemDamage() == this.slots[i].getMaxDamage()) + { + this.slots[i] = new ItemStack(ModItems.rod_quad_uranium_fuel_depleted); + } + } + if(slots[i] != null && slots[i].getItem() == ModItems.rod_plutonium_fuel) + { + int j = slots[i].getItemDamage(); + this.slots[i].setItemDamage(j += 1); + attemptHeat(2); + attemptPower(15); + + if(this.slots[i].getItemDamage() == this.slots[i].getMaxDamage()) + { + this.slots[i] = new ItemStack(ModItems.rod_plutonium_fuel_depleted); + } + } + if(slots[i] != null && slots[i].getItem() == ModItems.rod_dual_plutonium_fuel) + { + int j = slots[i].getItemDamage(); + this.slots[i].setItemDamage(j += 1); + attemptHeat(2); + attemptPower(15); + + if(this.slots[i].getItemDamage() == this.slots[i].getMaxDamage()) + { + this.slots[i] = new ItemStack(ModItems.rod_dual_plutonium_fuel_depleted); + } + } + if(slots[i] != null && slots[i].getItem() == ModItems.rod_quad_plutonium_fuel) + { + int j = slots[i].getItemDamage(); + this.slots[i].setItemDamage(j += 1); + attemptHeat(2); + attemptPower(15); + + if(this.slots[i].getItemDamage() == this.slots[i].getMaxDamage()) + { + this.slots[i] = new ItemStack(ModItems.rod_quad_plutonium_fuel_depleted); + } + } + if(slots[i] != null && slots[i].getItem() == ModItems.rod_mox_fuel) + { + int j = slots[i].getItemDamage(); + this.slots[i].setItemDamage(j += 1); + attemptHeat(1); + attemptPower(5); + + if(this.slots[i].getItemDamage() == this.slots[i].getMaxDamage()) + { + this.slots[i] = new ItemStack(ModItems.rod_mox_fuel_depleted); + } + } + if(slots[i] != null && slots[i].getItem() == ModItems.rod_dual_mox_fuel) + { + int j = slots[i].getItemDamage(); + this.slots[i].setItemDamage(j += 1); + attemptHeat(1); + attemptPower(5); + + if(this.slots[i].getItemDamage() == this.slots[i].getMaxDamage()) + { + this.slots[i] = new ItemStack(ModItems.rod_dual_mox_fuel_depleted); + } + } + if(slots[i] != null && slots[i].getItem() == ModItems.rod_quad_mox_fuel) + { + int j = slots[i].getItemDamage(); + this.slots[i].setItemDamage(j += 1); + attemptHeat(1); + attemptPower(5); + + if(this.slots[i].getItemDamage() == this.slots[i].getMaxDamage()) + { + this.slots[i] = new ItemStack(ModItems.rod_quad_mox_fuel_depleted); + } + } + if(slots[i] != null && slots[i].getItem() == ModItems.rod_schrabidium_fuel) + { + int j = slots[i].getItemDamage(); + this.slots[i].setItemDamage(j += 1); + attemptHeat(10); + attemptPower(25); + + if(this.slots[i].getItemDamage() == this.slots[i].getMaxDamage()) + { + this.slots[i] = new ItemStack(ModItems.rod_schrabidium_fuel_depleted); + } + } + if(slots[i] != null && slots[i].getItem() == ModItems.rod_dual_schrabidium_fuel) + { + int j = slots[i].getItemDamage(); + this.slots[i].setItemDamage(j += 1); + attemptHeat(10); + attemptPower(25); + + if(this.slots[i].getItemDamage() == this.slots[i].getMaxDamage()) + { + this.slots[i] = new ItemStack(ModItems.rod_dual_schrabidium_fuel_depleted); + } + } + if(slots[i] != null && slots[i].getItem() == ModItems.rod_quad_schrabidium_fuel) + { + int j = slots[i].getItemDamage(); + this.slots[i].setItemDamage(j += 1); + attemptHeat(10); + attemptPower(25); + + if(this.slots[i].getItemDamage() == this.slots[i].getMaxDamage()) + { + this.slots[i] = new ItemStack(ModItems.rod_quad_schrabidium_fuel_depleted); + } + } + } + + if(this.power > powerMax) + { + this.power = powerMax; + } + + if(this.heat > heatMax) + { + this.explode(); + } + + if(((slots[0] != null && slots[0].getItem() instanceof ItemFuelRod) || slots[0] == null) && + ((slots[1] != null && !(slots[1].getItem() instanceof ItemFuelRod)) || slots[1] == null) && + ((slots[2] != null && !(slots[2].getItem() instanceof ItemFuelRod)) || slots[2] == null) && + ((slots[3] != null && !(slots[3].getItem() instanceof ItemFuelRod)) || slots[3] == null) && + ((slots[4] != null && !(slots[4].getItem() instanceof ItemFuelRod)) || slots[4] == null) && + ((slots[5] != null && !(slots[5].getItem() instanceof ItemFuelRod)) || slots[5] == null) && + ((slots[6] != null && !(slots[6].getItem() instanceof ItemFuelRod)) || slots[6] == null) && + ((slots[7] != null && !(slots[7].getItem() instanceof ItemFuelRod)) || slots[7] == null) && + ((slots[8] != null && !(slots[8].getItem() instanceof ItemFuelRod)) || slots[8] == null)) + { + if(this.heat - 10 >= 0 && this.cool - 10 >= 0) + { + this.heat -= 10; + this.cool -= 10; + } + + if(this.heat < 10 && this.cool != 0) + { + this.heat--; + this.cool--; + } + + if(this.heat != 0 && this.cool == 0) + { + this.heat--; + } + + if(this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord) instanceof MachineGenerator) + ((MachineGenerator)this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord)).isLoaded = false; + + } else { + + if(this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord) instanceof MachineGenerator) + ((MachineGenerator)this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord)).isLoaded = true; + } + } + /*//Electric Furnace + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + //Wire + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + //Deuterium + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + //Batteries + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + }*/ + + + //Energy distributing algorithm V2.1 + TileEntity entity0 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + TileEntity entity1 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + TileEntity entity2 = worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + TileEntity entity3 = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + TileEntity entity4 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + TileEntity entity5 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + + TileEntity entity; + + for(int i = 0; i < 6; i++) + { + entity = entity0; + if(i == 1) entity = entity1; + if(i == 2) entity = entity2; + if(i == 3) entity = entity3; + if(i == 4) entity = entity4; + if(i == 5) entity = entity5; + + if(entity instanceof TileEntityMachineElectricFurnace || + entity instanceof TileEntityWireCoated || + entity instanceof TileEntityMachineDeuterium || + entity instanceof TileEntityMachineBattery || + entity instanceof TileEntityLaunchPad) + { + if(entity instanceof TileEntityMachineElectricFurnace && ((TileEntityMachineElectricFurnace)entity).power + 100 <= ((TileEntityMachineElectricFurnace)entity).maxPower) + { + ((TileEntityMachineElectricFurnace)entity).power += 100; + this.power -= 100; + } else + if(entity instanceof TileEntityWireCoated && ((TileEntityWireCoated)entity).power + 100 <= ((TileEntityWireCoated)entity).maxPower) + { + ((TileEntityWireCoated)entity).power += 100; + this.power -= 100; + } else + if(entity instanceof TileEntityMachineDeuterium && ((TileEntityMachineDeuterium)entity).power + 100 <= ((TileEntityMachineDeuterium)entity).maxPower) + { + ((TileEntityMachineDeuterium)entity).power += 100; + this.power -= 100; + } else + if(entity instanceof TileEntityMachineBattery && ((TileEntityMachineBattery)entity).power + 100 <= ((TileEntityMachineBattery)entity).maxPower && !((TileEntityMachineBattery)entity).conducts) + { + ((TileEntityMachineBattery)entity).power += 100; + this.power -= 100; + } + } + } + + //Batteries + if(power - 100 >= 0 && slots[11] != null && slots[11].getItem() == ModItems.battery_generic && slots[11].getItemDamage() > 0) + { + power -= 100; + slots[11].setItemDamage(slots[11].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[11] != null && slots[11].getItem() == ModItems.battery_advanced && slots[11].getItemDamage() > 0) + { + power -= 100; + slots[11].setItemDamage(slots[11].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[11] != null && slots[11].getItem() == ModItems.battery_schrabidium && slots[11].getItemDamage() > 0) + { + power -= 100; + slots[11].setItemDamage(slots[11].getItemDamage() - 1); + } + } + + public void attemptPower(int i) { + if(this.water - i >= 0) + { + this.power += i; + this.water -= i; + } + } + + public void attemptHeat(int i) { + if(this.cool - i >= 0) + { + this.cool -= i; + } else { + this.heat += i; + } + } + + public void explode() { + for(int i = 0; i < slots.length; i++) + { + this.slots[i] = null; + } + + worldObj.createExplosion(null, this.xCoord, this.yCoord, this.zCoord, 18.0F, true); + ExplosionNukeGeneric.waste(worldObj, this.xCoord, this.yCoord, this.zCoord, 35); + worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, Blocks.flowing_lava); + } +} \ No newline at end of file diff --git a/com/hbm/blocks/TileEntityMachinePuF6Tank.java b/com/hbm/blocks/TileEntityMachinePuF6Tank.java new file mode 100644 index 000000000..39139d1d8 --- /dev/null +++ b/com/hbm/blocks/TileEntityMachinePuF6Tank.java @@ -0,0 +1,258 @@ +package com.hbm.blocks; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityMachinePuF6Tank extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int fillState; + public static final int maxFill = 64 * 3; + + private static final int[] slots_top = new int[] {0}; + private static final int[] slots_bottom = new int[] {1, 3}; + private static final int[] slots_side = new int[] {2}; + + private String customName; + + public TileEntityMachinePuF6Tank() { + slots = new ItemStack[4]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.puf6_tank"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + fillState = nbt.getShort("fillState"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("fillState", (short) fillState); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public int getFillStateScaled(int i) { + return (fillState * i) / maxFill; + } + + public boolean canGive() { + if(slots[0] != null && slots[0].getItem() == ModItems.cell_puf6) + { + if(slots[1] == null || (slots[1] != null && slots[1].getItem() == ModItems.cell_empty && slots[1].stackSize < slots[1].getMaxStackSize())) + { + if(fillState < maxFill) + { + return true; + } + } + } + + return false; + } + + public boolean canTake() { + if(slots[2] != null && slots[2].getItem() == ModItems.cell_empty) + { + if(slots[3] == null || (slots[3] != null && slots[3].getItem() == ModItems.cell_puf6 && slots[3].stackSize < slots[3].getMaxStackSize())) + { + if(fillState > 0) + { + return true; + } + } + } + + return false; + } + + public void updateEntity() { + + if(!worldObj.isRemote) + { + if(this.canGive()) + { + this.slots[0].stackSize--; + if(slots[0].stackSize <= 0) + { + slots[0] = null; + } + + this.fillState++; + + if(slots[1] != null) + { + slots[1].stackSize++; + } + else + { + slots[1] = new ItemStack(ModItems.cell_empty, 1); + } + } + + if(this.canTake()) + { + this.slots[2].stackSize--; + if(slots[2].stackSize <= 0) + { + slots[2] = null; + } + + this.fillState--; + + if(slots[3] != null) + { + slots[3].stackSize++; + } + else + { + slots[3] = new ItemStack(ModItems.cell_puf6, 1); + } + } + } + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } +} diff --git a/com/hbm/blocks/TileEntityMachineReactor.java b/com/hbm/blocks/TileEntityMachineReactor.java new file mode 100644 index 000000000..755d52050 --- /dev/null +++ b/com/hbm/blocks/TileEntityMachineReactor.java @@ -0,0 +1,361 @@ +package com.hbm.blocks; + +import com.hbm.gui.MachineRecipes; +import com.hbm.items.ModItems; + +import net.minecraft.block.BlockFurnace; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityMachineReactor extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int dualCookTime; + public int dualPower; + public static final int maxPower = 1000; + public static final int processingSpeed = 1000; + public boolean runsOnRtg = false; + + private static final int[] slots_top = new int[] {1}; + private static final int[] slots_bottom = new int[] {2}; + private static final int[] slots_side = new int[] {0}; + + private String customName; + + public TileEntityMachineReactor() { + slots = new ItemStack[3]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.reactor"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + //You scrubs aren't needed for anything (right now) + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return i == 2 ? false : (i == 1 ? hasItemPower(itemStack) : true); + } + + public boolean hasItemPower(ItemStack itemStack) { + return getItemPower(itemStack) > 0; + } + + private static int getItemPower(ItemStack itemStack) { + if(itemStack == null) + { + return 0; + }else{ + Item item = itemStack.getItem(); + + if(item == ModItems.rod_u238) return 1; + if(item == ModItems.rod_dual_u238) return 2; + if(item == ModItems.rod_quad_u238) return 4; + if(item == ModItems.rod_u235) return 3; + if(item == ModItems.rod_dual_u235) return 6; + if(item == ModItems.rod_quad_u235) return 12; + if(item == ModItems.rod_pu238) return 5; + if(item == ModItems.rod_dual_pu238) return 10; + if(item == ModItems.rod_quad_pu238) return 20; + if(item == ModItems.rod_pu239) return 3; + if(item == ModItems.rod_dual_pu239) return 6; + if(item == ModItems.rod_quad_pu239) return 12; + if(item == ModItems.rod_pu240) return 1; + if(item == ModItems.rod_dual_pu240) return 2; + if(item == ModItems.rod_quad_pu240) return 4; + if(item == ModItems.rod_neptunium) return 3; + if(item == ModItems.rod_dual_neptunium) return 6; + if(item == ModItems.rod_quad_neptunium) return 12; + if(item == ModItems.rod_schrabidium) return 15; + if(item == ModItems.rod_dual_schrabidium) return 30; + if(item == ModItems.rod_quad_schrabidium) return 60; + + return 0; + } + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + dualPower = nbt.getShort("powerTime"); + dualCookTime = nbt.getShort("CookTime"); + runsOnRtg = nbt.getBoolean("runsOnRtg"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("powerTime", (short) dualPower); + nbt.setShort("cookTime", (short) dualCookTime); + nbt.setBoolean("runsOnRtg", runsOnRtg); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public int getDiFurnaceProgressScaled(int i) { + return (dualCookTime * i) / processingSpeed; + } + + public int getPowerRemainingScaled(int i) { + return (dualPower * i) / maxPower; + } + + public boolean canProcess() { + if(slots[1] == null) + { + return false; + } + ItemStack itemStack = MachineRecipes.getReactorProcessingResult(slots[1].getItem()); + if(itemStack == null) + { + return false; + } + + if(slots[2] == null) + { + return true; + } + + if(!slots[2].isItemEqual(itemStack)) { + return false; + } + + if(slots[2].stackSize < getInventoryStackLimit() && slots[2].stackSize < slots[2].getMaxStackSize()) { + return true; + }else{ + return slots[2].stackSize < itemStack.getMaxStackSize(); + } + } + + private void processItem() { + if(canProcess()) { + ItemStack itemStack = MachineRecipes.getReactorProcessingResult(slots[1].getItem()); + + if(slots[2] == null) + { + slots[2] = itemStack.copy(); + }else if(slots[2].isItemEqual(itemStack)) { + slots[2].stackSize += itemStack.stackSize; + } + + for(int i = 1; i < 2; i++) + { + if(slots[i].stackSize <= 0) + { + slots[i] = new ItemStack(slots[i].getItem().setFull3D()); + }else{ + slots[i].stackSize--; + } + if(slots[i].stackSize <= 0) + { + slots[i] = null; + } + } + + if(!runsOnRtg) + { + dualPower--; + } + } + } + + public boolean hasPower() { + return dualPower > 0; + } + + public boolean isProcessing() { + return this.dualCookTime > 0; + } + + public void updateEntity() { + boolean flag = this.hasPower(); + boolean flag1 = false; + + if(!worldObj.isRemote) + { + if(this.hasItemPower(this.slots[0]) && this.dualPower == 0) + { + this.dualPower += getItemPower(this.slots[0]); + if(this.slots[0] != null) + { + flag1 = true; + this.slots[0].stackSize--; + if(this.slots[0].stackSize == 0) + { + this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]); + } + } + } + + if(this.slots[0] != null && this.slots[0].getItem() == ModItems.pellet_rtg && this.dualPower == 0) + { + this.slots[0].stackSize--; + if(this.slots[0].stackSize == 0) + { + this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]); + } + + this.runsOnRtg = true; + + this.dualPower = 1; + } + + if(hasPower() && canProcess()) + { + dualCookTime++; + + if(this.dualCookTime == this.processingSpeed) + { + this.dualCookTime = 0; + this.processItem(); + flag1 = true; + } + }else{ + dualCookTime = 0; + } + + boolean trigger = true; + + if(hasPower() && canProcess() && this.dualCookTime == 0) + { + trigger = false; + } + + if(trigger) + { + flag1 = true; + } + } + + if(flag1) + { + this.markDirty(); + } + } +} \ No newline at end of file diff --git a/com/hbm/blocks/TileEntityMachineUF6Tank.java b/com/hbm/blocks/TileEntityMachineUF6Tank.java new file mode 100644 index 000000000..305b8ab25 --- /dev/null +++ b/com/hbm/blocks/TileEntityMachineUF6Tank.java @@ -0,0 +1,258 @@ +package com.hbm.blocks; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityMachineUF6Tank extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int fillState; + public static final int maxFill = 64 * 3; + + private static final int[] slots_top = new int[] {0}; + private static final int[] slots_bottom = new int[] {1, 3}; + private static final int[] slots_side = new int[] {2}; + + private String customName; + + public TileEntityMachineUF6Tank() { + slots = new ItemStack[4]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.uf6_tank"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + fillState = nbt.getShort("fillState"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("fillState", (short) fillState); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public int getFillStateScaled(int i) { + return (fillState * i) / maxFill; + } + + public boolean canGive() { + if(slots[0] != null && slots[0].getItem() == ModItems.cell_uf6) + { + if(slots[1] == null || (slots[1] != null && slots[1].getItem() == ModItems.cell_empty && slots[1].stackSize < slots[1].getMaxStackSize())) + { + if(fillState < maxFill) + { + return true; + } + } + } + + return false; + } + + public boolean canTake() { + if(slots[2] != null && slots[2].getItem() == ModItems.cell_empty) + { + if(slots[3] == null || (slots[3] != null && slots[3].getItem() == ModItems.cell_uf6 && slots[3].stackSize < slots[3].getMaxStackSize())) + { + if(fillState > 0) + { + return true; + } + } + } + + return false; + } + + public void updateEntity() { + + if(!worldObj.isRemote) + { + if(this.canGive()) + { + this.slots[0].stackSize--; + if(slots[0].stackSize <= 0) + { + slots[0] = null; + } + + this.fillState++; + + if(slots[1] != null) + { + slots[1].stackSize++; + } + else + { + slots[1] = new ItemStack(ModItems.cell_empty, 1); + } + } + + if(this.canTake()) + { + this.slots[2].stackSize--; + if(slots[2].stackSize <= 0) + { + slots[2] = null; + } + + this.fillState--; + + if(slots[3] != null) + { + slots[3].stackSize++; + } + else + { + slots[3] = new ItemStack(ModItems.cell_uf6, 1); + } + } + } + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } +} diff --git a/com/hbm/blocks/TileEntityNukeBoy.java b/com/hbm/blocks/TileEntityNukeBoy.java new file mode 100644 index 000000000..1cad9efaa --- /dev/null +++ b/com/hbm/blocks/TileEntityNukeBoy.java @@ -0,0 +1,191 @@ +package com.hbm.blocks; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityNukeBoy extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + private String customName; + + public TileEntityNukeBoy() { + slots = new ItemStack[5]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.nukeBoy"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + @Override + public void openInventory() { + + } + + @Override + public void closeInventory() { + + } + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + public boolean isReady() { + if(slots[0] != null && slots[01] != null && slots[2] != null && slots[3] != null && slots[4] != null) + { + if(slots[0].getItem() == ModItems.boy_shielding && slots[1].getItem() == ModItems.boy_target && slots[2].getItem() == ModItems.boy_bullet && slots[3].getItem() == ModItems.boy_propellant && slots[4].getItem() == ModItems.boy_igniter) + { + return true; + } + } + + return false; + } + + public void clearSlots() { + for(int i = 0; i < slots.length; i++) + { + slots[i] = null; + } + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } +} diff --git a/com/hbm/blocks/TileEntityNukeFleija.java b/com/hbm/blocks/TileEntityNukeFleija.java new file mode 100644 index 000000000..ed50311fe --- /dev/null +++ b/com/hbm/blocks/TileEntityNukeFleija.java @@ -0,0 +1,201 @@ +package com.hbm.blocks; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityNukeFleija extends TileEntity implements ISidedInventory { + + public ItemStack slots[]; + private String customName; + + public TileEntityNukeFleija() { + slots = new ItemStack[11]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.nukeFleija"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + @Override + public void openInventory() { + + } + + @Override + public void closeInventory() { + + } + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + public boolean isReady() { + + if(slots[0] != null && slots[1] != null && slots[2] != null && slots[3] != null && slots[4] != null && slots[5] != null && slots[6] != null && slots[7] != null && slots[8] != null && slots[9] != null && slots[10] != null) + if(slots[0].getItem() == ModItems.fleija_igniter && + slots[1].getItem() == ModItems.fleija_igniter && + slots[2].getItem() == ModItems.fleija_propellant && + slots[3].getItem() == ModItems.fleija_propellant && + slots[4].getItem() == ModItems.fleija_propellant && + slots[5].getItem() == ModItems.fleija_core && + slots[6].getItem() == ModItems.fleija_core && + slots[7].getItem() == ModItems.fleija_core && + slots[8].getItem() == ModItems.fleija_core && + slots[9].getItem() == ModItems.fleija_core && + slots[10].getItem() == ModItems.fleija_core) + { + return true; + } + + return false; + } + + public void clearSlots() { + for(int i = 0; i < slots.length; i++) + { + slots[i] = null; + } + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } + +} diff --git a/com/hbm/blocks/TileEntityNukeFurnace.java b/com/hbm/blocks/TileEntityNukeFurnace.java new file mode 100644 index 000000000..24803f237 --- /dev/null +++ b/com/hbm/blocks/TileEntityNukeFurnace.java @@ -0,0 +1,347 @@ +package com.hbm.blocks; + +import com.hbm.gui.MachineRecipes; +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityNukeFurnace extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int dualCookTime; + public int dualPower; + public static final int maxPower = 1000; + public static final int processingSpeed = 30; + + private static final int[] slots_top = new int[] {1}; + private static final int[] slots_bottom = new int[] {2}; + private static final int[] slots_side = new int[] {0}; + + private String customName; + + public TileEntityNukeFurnace() { + slots = new ItemStack[3]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.nukeFurnace"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + //You scrubs aren't needed for anything (right now) + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return true; + } + + public boolean hasItemPower(ItemStack itemStack) { + return getItemPower(itemStack) > 0; + } + + private static int getItemPower(ItemStack itemStack) { + if(itemStack == null) + { + return 0; + }else{ + Item item = itemStack.getItem(); + + if(item == ModItems.rod_u238) return 1 * 5; + if(item == ModItems.rod_dual_u238) return 2 * 5; + if(item == ModItems.rod_quad_u238) return 4 * 5; + if(item == ModItems.rod_u235) return 3 * 5; + if(item == ModItems.rod_dual_u235) return 6 * 5; + if(item == ModItems.rod_quad_u235) return 12 * 5; + if(item == ModItems.rod_pu238) return 5 * 5; + if(item == ModItems.rod_dual_pu238) return 10 * 5; + if(item == ModItems.rod_quad_pu238) return 20 * 5; + if(item == ModItems.rod_pu239) return 3 * 5; + if(item == ModItems.rod_dual_pu239) return 6 * 5; + if(item == ModItems.rod_quad_pu239) return 12 * 5; + if(item == ModItems.rod_pu240) return 1 * 5; + if(item == ModItems.rod_dual_pu240) return 2 * 5; + if(item == ModItems.rod_quad_pu240) return 4 * 5; + if(item == ModItems.rod_neptunium) return 3 * 5; + if(item == ModItems.rod_dual_neptunium) return 6 * 5; + if(item == ModItems.rod_quad_neptunium) return 12 * 5; + if(item == ModItems.rod_schrabidium) return 15 * 5; + if(item == ModItems.rod_dual_schrabidium) return 30 * 5; + if(item == ModItems.rod_quad_schrabidium) return 60 * 5; + + return 0; + } + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + dualPower = nbt.getShort("powerTime"); + dualCookTime = nbt.getShort("CookTime"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("powerTime", (short) dualPower); + nbt.setShort("cookTime", (short) dualCookTime); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + //return this.isItemValidForSlot(i, itemStack); + return true; + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + //return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + return true; + } + + public int getDiFurnaceProgressScaled(int i) { + return (dualCookTime * i) / processingSpeed; + } + + public int getPowerRemainingScaled(int i) { + return (dualPower * i) / maxPower; + } + + public boolean canProcess() { + if(slots[1] == null) + { + return false; + } + ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]); + if(itemStack == null) + { + return false; + } + + if(slots[2] == null) + { + return true; + } + + if(!slots[2].isItemEqual(itemStack)) { + return false; + } + + if(slots[2].stackSize < getInventoryStackLimit() && slots[2].stackSize < slots[2].getMaxStackSize()) { + return true; + }else{ + return slots[2].stackSize < itemStack.getMaxStackSize(); + } + } + + private void processItem() { + if(canProcess()) { + ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]); + + if(slots[2] == null) + { + slots[2] = itemStack.copy(); + }else if(slots[2].isItemEqual(itemStack)) { + slots[2].stackSize += itemStack.stackSize; + } + + for(int i = 1; i < 2; i++) + { + if(slots[i].stackSize <= 0) + { + slots[i] = new ItemStack(slots[i].getItem().setFull3D()); + }else{ + slots[i].stackSize--; + } + if(slots[i].stackSize <= 0) + { + slots[i] = null; + } + } + + { + dualPower--; + } + } + } + + public boolean hasPower() { + return dualPower > 0; + } + + public boolean isProcessing() { + return this.dualCookTime > 0; + } + + public void updateEntity() { + boolean flag = this.hasPower(); + boolean flag1 = false; + + if(!worldObj.isRemote) + { + if(this.hasItemPower(this.slots[0]) && this.dualPower == 0) + { + this.dualPower += getItemPower(this.slots[0]); + if(this.slots[0] != null) + { + flag1 = true; + this.slots[0].stackSize--; + if(this.slots[0].stackSize == 0) + { + this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]); + } + } + } + + if(hasPower() && canProcess()) + { + dualCookTime++; + + if(this.dualCookTime == this.processingSpeed) + { + this.dualCookTime = 0; + this.processItem(); + flag1 = true; + } + }else{ + dualCookTime = 0; + } + + boolean trigger = true; + + if(hasPower() && canProcess() && this.dualCookTime == 0) + { + trigger = false; + } + + if(trigger) + { + flag1 = true; + MachineNukeFurnace.updateBlockState(this.dualCookTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(flag1) + { + this.markDirty(); + } + } + +} diff --git a/com/hbm/blocks/TileEntityNukeGadget.java b/com/hbm/blocks/TileEntityNukeGadget.java new file mode 100644 index 000000000..fec1c5ab8 --- /dev/null +++ b/com/hbm/blocks/TileEntityNukeGadget.java @@ -0,0 +1,255 @@ +package com.hbm.blocks; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityNukeGadget extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + private String customName; + + public TileEntityNukeGadget() { + slots = new ItemStack[6]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.nukeGadget"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + @Override + public void openInventory() { + + } + + @Override + public void closeInventory() { + + } + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + /*public int getNukeTier() { + if(this.slots[0] != null && this.slots[1] != null && this.slots[2] != null && this.slots[3] != null && this.slots[4] != null) + { + if(this.slots[0].getItem() == ModItems.test_nuke_tier1_shielding && this.slots[1].getItem() == ModItems.test_nuke_tier1_target && this.slots[2].getItem() == ModItems.test_nuke_tier1_bullet && this.slots[3].getItem() == ModItems.test_nuke_propellant && this.slots[4].getItem() == ModItems.test_nuke_igniter) + { + return 1; + } + if(this.slots[0].getItem() == ModItems.test_nuke_tier2_shielding && this.slots[1].getItem() == ModItems.test_nuke_tier2_target && this.slots[2].getItem() == ModItems.test_nuke_tier2_bullet && this.slots[3].getItem() == ModItems.test_nuke_propellant && this.slots[4].getItem() == ModItems.test_nuke_igniter) + { + return 2; + } + if(this.slots[0].getItem() == Item.getItemFromBlock(Blocks.obsidian) && this.slots[1].getItem() == Items.nether_star && this.slots[2].getItem() == Items.diamond && this.slots[3].getItem() == Item.getItemFromBlock(Blocks.tnt) && this.slots[4].getItem() == Items.repeater) + { + return 999; + } + else + { + return 0; + } + } + else + { + return 0; + } + }*/ + + public boolean exp1() { + if(this.slots[1] != null && this.slots[1].getItem() == ModItems.gadget_explosive8) + { + return true; + } + + return false; + } + + public boolean exp2() { + if(this.slots[2] != null && this.slots[2].getItem() == ModItems.gadget_explosive8) + { + return true; + } + + return false; + } + + public boolean exp3() { + if(this.slots[3] != null && this.slots[3].getItem() == ModItems.gadget_explosive8) + { + return true; + } + + return false; + } + + public boolean exp4() { + if(this.slots[4] != null && this.slots[4].getItem() == ModItems.gadget_explosive8) + { + return true; + } + + return false; + } + + public boolean isReady() { + if(this.exp1() == true && this.exp2() == true && this.exp3() == true && this.exp4() == true) + { + if(this.slots[0] != null && this.slots[5] != null && this.slots[0].getItem() == ModItems.gadget_wireing && slots[5].getItem() == ModItems.gadget_core) + { + return true; + } + } + + return false; + } + + public void clearSlots() { + for(int i = 0; i < slots.length; i++) + { + slots[i] = null; + } + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } +} diff --git a/com/hbm/blocks/TileEntityNukeMan.java b/com/hbm/blocks/TileEntityNukeMan.java new file mode 100644 index 000000000..971e59956 --- /dev/null +++ b/com/hbm/blocks/TileEntityNukeMan.java @@ -0,0 +1,229 @@ +package com.hbm.blocks; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityNukeMan extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + private String customName; + + public TileEntityNukeMan() { + slots = new ItemStack[6]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.nukeMan"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + @Override + public void openInventory() { + + } + + @Override + public void closeInventory() { + + } + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + public boolean exp1() { + if(this.slots[1] != null && this.slots[1].getItem() == ModItems.man_explosive8) + { + return true; + } + + return false; + } + + public boolean exp2() { + if(this.slots[2] != null && this.slots[2].getItem() == ModItems.man_explosive8) + { + return true; + } + + return false; + } + + public boolean exp3() { + if(this.slots[3] != null && this.slots[3].getItem() == ModItems.man_explosive8) + { + return true; + } + + return false; + } + + public boolean exp4() { + if(this.slots[4] != null && this.slots[4].getItem() == ModItems.man_explosive8) + { + return true; + } + + return false; + } + + public boolean isReady() { + if(this.exp1() == true && this.exp2() == true && this.exp3() == true && this.exp4() == true) + { + if(this.slots[0] != null && this.slots[5] != null && this.slots[0].getItem() == ModItems.man_igniter && slots[5].getItem() == ModItems.man_core) + { + return true; + } + } + + return false; + } + + public void clearSlots() { + for(int i = 0; i < slots.length; i++) + { + slots[i] = null; + } + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } +} diff --git a/com/hbm/blocks/TileEntityNukeMike.java b/com/hbm/blocks/TileEntityNukeMike.java new file mode 100644 index 000000000..c05114825 --- /dev/null +++ b/com/hbm/blocks/TileEntityNukeMike.java @@ -0,0 +1,213 @@ +package com.hbm.blocks; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityNukeMike extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + private String customName; + + public TileEntityNukeMike() { + slots = new ItemStack[8]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.nukeMike"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + @Override + public void openInventory() { + + } + + @Override + public void closeInventory() { + + } + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + public boolean isReady() { + + if(slots[0] != null && slots[1] != null && slots[2] != null && slots[3] != null && slots[4] != null) + if(slots[0].getItem() == ModItems.man_explosive8 && + slots[1].getItem() == ModItems.man_explosive8 && + slots[2].getItem() == ModItems.man_explosive8 && + slots[3].getItem() == ModItems.man_explosive8 && + slots[4].getItem() == ModItems.man_core) + { + return true; + } + + return false; + } + + public boolean isFilled() { + + if(slots[0] != null && slots[1] != null && slots[2] != null && slots[3] != null && slots[4] != null && slots[5] != null && slots[6] != null && slots[7] != null) + if(slots[0].getItem() == ModItems.man_explosive8 && + slots[1].getItem() == ModItems.man_explosive8 && + slots[2].getItem() == ModItems.man_explosive8 && + slots[3].getItem() == ModItems.man_explosive8 && + slots[4].getItem() == ModItems.man_core && + slots[5].getItem() == ModItems.mike_core && + slots[6].getItem() == ModItems.mike_deut && + slots[7].getItem() == ModItems.mike_cooling_unit) + { + return true; + } + + return false; + } + + public void clearSlots() { + for(int i = 0; i < slots.length; i++) + { + slots[i] = null; + } + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } + +} diff --git a/com/hbm/blocks/TileEntityNukePrototype.java b/com/hbm/blocks/TileEntityNukePrototype.java new file mode 100644 index 000000000..200cb4f55 --- /dev/null +++ b/com/hbm/blocks/TileEntityNukePrototype.java @@ -0,0 +1,203 @@ +package com.hbm.blocks; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityNukePrototype extends TileEntity implements ISidedInventory { + + public ItemStack slots[]; + private String customName; + + public TileEntityNukePrototype() { + slots = new ItemStack[14]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.nukePrototype"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + @Override + public void openInventory() { + + } + + @Override + public void closeInventory() { + + } + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + public boolean isReady() { + + if(slots[0] != null && slots[1] != null && slots[2] != null && slots[3] != null && slots[4] != null && slots[5] != null && slots[6] != null && slots[7] != null && slots[8] != null && slots[9] != null && slots[10] != null && slots[11] != null && slots[12] != null && slots[13] != null) + if(slots[0].getItem() == ModItems.cell_sas3 && + slots[1].getItem() == ModItems.cell_sas3 && + slots[2].getItem() == ModItems.rod_quad_uranium && + slots[3].getItem() == ModItems.rod_quad_uranium && + slots[4].getItem() == ModItems.rod_quad_lead && + slots[5].getItem() == ModItems.rod_quad_lead && + slots[6].getItem() == ModItems.rod_quad_neptunium && + slots[7].getItem() == ModItems.rod_quad_neptunium && + slots[8].getItem() == ModItems.rod_quad_lead && + slots[9].getItem() == ModItems.rod_quad_lead && + slots[10].getItem() == ModItems.rod_quad_uranium && + slots[11].getItem() == ModItems.rod_quad_uranium && + slots[12].getItem() == ModItems.cell_sas3 && + slots[13].getItem() == ModItems.cell_sas3) + { + return true; + } + + return false; + } + + public void clearSlots() { + for(int i = 0; i < slots.length; i++) + { + slots[i] = null; + } + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } +} diff --git a/com/hbm/blocks/TileEntityNukeTsar.java b/com/hbm/blocks/TileEntityNukeTsar.java new file mode 100644 index 000000000..db22ec228 --- /dev/null +++ b/com/hbm/blocks/TileEntityNukeTsar.java @@ -0,0 +1,210 @@ +package com.hbm.blocks; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityNukeTsar extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + private String customName; + + public TileEntityNukeTsar() { + slots = new ItemStack[6]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.nukeTsar"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + @Override + public void openInventory() { + + } + + @Override + public void closeInventory() { + + } + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + public boolean isReady() { + + if(slots[0] != null && slots[1] != null && slots[2] != null && slots[3] != null && slots[4] != null) + if(slots[0].getItem() == ModItems.man_explosive8 && + slots[1].getItem() == ModItems.man_explosive8 && + slots[2].getItem() == ModItems.man_explosive8 && + slots[3].getItem() == ModItems.man_explosive8 && + slots[4].getItem() == ModItems.man_core) + { + return true; + } + + return false; + } + + public boolean isFilled() { + + if(slots[0] != null && slots[1] != null && slots[2] != null && slots[3] != null && slots[4] != null && slots[5] != null) + if(slots[0].getItem() == ModItems.man_explosive8 && + slots[1].getItem() == ModItems.man_explosive8 && + slots[2].getItem() == ModItems.man_explosive8 && + slots[3].getItem() == ModItems.man_explosive8 && + slots[4].getItem() == ModItems.man_core && + slots[5].getItem() == ModItems.tsar_core) + { + return true; + } + + return false; + } + + public void clearSlots() { + for(int i = 0; i < slots.length; i++) + { + slots[i] = null; + } + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } +} diff --git a/com/hbm/blocks/TileEntityObjTester.java b/com/hbm/blocks/TileEntityObjTester.java new file mode 100644 index 000000000..104b89f6f --- /dev/null +++ b/com/hbm/blocks/TileEntityObjTester.java @@ -0,0 +1,22 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityObjTester extends TileEntity { + + public int getBlockMetadata() + { + if (this.blockMetadata == -1) + { + this.blockMetadata = this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord); + } + + return this.blockMetadata; + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return this.INFINITE_EXTENT_AABB; + } +} diff --git a/com/hbm/blocks/TileEntityRedBarrel.java b/com/hbm/blocks/TileEntityRedBarrel.java new file mode 100644 index 000000000..071fa250b --- /dev/null +++ b/com/hbm/blocks/TileEntityRedBarrel.java @@ -0,0 +1,7 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityRedBarrel extends TileEntity { + +} diff --git a/com/hbm/blocks/TileEntityRotationTester.java b/com/hbm/blocks/TileEntityRotationTester.java new file mode 100644 index 000000000..b8d35df11 --- /dev/null +++ b/com/hbm/blocks/TileEntityRotationTester.java @@ -0,0 +1,17 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityRotationTester extends TileEntity { + + public int getBlockMetadata() + { + if (this.blockMetadata == -1) + { + this.blockMetadata = this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord); + } + + return this.blockMetadata; + } + +} diff --git a/com/hbm/blocks/TileEntityRtgFurnace.java b/com/hbm/blocks/TileEntityRtgFurnace.java new file mode 100644 index 000000000..3649b34ca --- /dev/null +++ b/com/hbm/blocks/TileEntityRtgFurnace.java @@ -0,0 +1,291 @@ +package com.hbm.blocks; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; + +import com.hbm.items.ModItems; + +public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int dualCookTime; + public static final int processingSpeed = 100; + + private static final int[] slots_top = new int[] {0}; + private static final int[] slots_bottom = new int[] {4}; + private static final int[] slots_side = new int[] {1, 2, 3}; + + private String customName; + + public TileEntityRtgFurnace() { + slots = new ItemStack[5]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.rtgFurnace"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + //You scrubs aren't needed for anything (right now) + public void openInventory() {} + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return true; + } + + public boolean isLoaded() { + if(slots[1] != null && slots[2] != null && slots[3] != null) + { + if(slots[1].getItem() == ModItems.pellet_rtg && slots[2].getItem() == ModItems.pellet_rtg && slots[3].getItem() == ModItems.pellet_rtg) + { + return true; + } + } + + return false; + } + + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + dualCookTime = nbt.getShort("CookTime"); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("cookTime", (short) dualCookTime); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + 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); + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public int getDiFurnaceProgressScaled(int i) { + return (dualCookTime * i) / processingSpeed; + } + + public boolean canProcess() { + if(slots[0] == null) + { + return false; + } + ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[0]); + if(itemStack == null) + { + return false; + } + + if(slots[4] == null) + { + return true; + } + + if(!slots[4].isItemEqual(itemStack)) { + return false; + } + + if(slots[4].stackSize < getInventoryStackLimit() && slots[4].stackSize < slots[4].getMaxStackSize()) { + return true; + }else{ + return slots[4].stackSize < itemStack.getMaxStackSize(); + } + } + + private void processItem() { + if(canProcess()) { + ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[0]); + + if(slots[4] == null) + { + slots[4] = itemStack.copy(); + }else if(slots[4].isItemEqual(itemStack)) { + slots[4].stackSize += itemStack.stackSize; + } + + for(int i = 0; i < 1; i++) + { + if(slots[i].stackSize <= 0) + { + slots[i] = new ItemStack(slots[i].getItem().setFull3D()); + }else{ + slots[i].stackSize--; + } + if(slots[i].stackSize <= 0) + { + slots[i] = null; + } + } + } + } + + public boolean hasPower() { + return isLoaded(); + } + + public boolean isProcessing() { + return this.dualCookTime > 0; + } + + public void updateEntity() { + boolean flag = this.hasPower(); + boolean flag1 = false; + + if(!worldObj.isRemote) + { + if(hasPower() && canProcess()) + { + dualCookTime++; + + if(this.dualCookTime == this.processingSpeed) + { + this.dualCookTime = 0; + this.processItem(); + flag1 = true; + } + }else{ + dualCookTime = 0; + } + + boolean trigger = true; + + if(hasPower() && canProcess() && this.dualCookTime == 0) + { + trigger = false; + } + + if(trigger) + { + flag1 = true; + MachineRtgFurnace.updateBlockState(this.dualCookTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if(flag1) + { + this.markDirty(); + } + } +} diff --git a/com/hbm/blocks/TileEntityTestBombAdvanced.java b/com/hbm/blocks/TileEntityTestBombAdvanced.java new file mode 100644 index 000000000..088efeae1 --- /dev/null +++ b/com/hbm/blocks/TileEntityTestBombAdvanced.java @@ -0,0 +1,7 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityTestBombAdvanced extends TileEntity { + +} diff --git a/com/hbm/blocks/TileEntityTestContainer.java b/com/hbm/blocks/TileEntityTestContainer.java new file mode 100644 index 000000000..348759b4c --- /dev/null +++ b/com/hbm/blocks/TileEntityTestContainer.java @@ -0,0 +1,204 @@ +package com.hbm.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockChest; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntityChest; + +public class TileEntityTestContainer extends TileEntityChest { + + private String customName; + + private ItemStack[] chestContents = new ItemStack[9]; + + private int cachedChestType; + + public TileEntityTestContainer adjacentChestZNeg; + public TileEntityTestContainer adjacentChestXPos; + public TileEntityTestContainer adjacentChestXNeg; + public TileEntityTestContainer adjacentChestZPos; + + public String getInventoryName() + { + return this.hasCustomInventoryName() ? this.customName : "container.testContainer"; + } + + public boolean hasCustomInventoryName() + { + return this.customName != null && this.customName.length() > 0; + } + + public void func_145976_a(String p_145976_1_) + { + this.customName = p_145976_1_; + } + + public void readFromNBT(NBTTagCompound p_145839_1_) + { + super.readFromNBT(p_145839_1_); + NBTTagList nbttaglist = p_145839_1_.getTagList("Items", 10); + this.chestContents = new ItemStack[this.getSizeInventory()]; + + if (p_145839_1_.hasKey("TestContainer", 8)) + { + this.customName = p_145839_1_.getString("TestContainer"); + } + + for (int i = 0; i < nbttaglist.tagCount(); ++i) + { + NBTTagCompound nbttagcompound1 = nbttaglist.getCompoundTagAt(i); + int j = nbttagcompound1.getByte("Slot") & 255; + + if (j >= 0 && j < this.chestContents.length) + { + this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + } + + public void writeToNBT(NBTTagCompound p_145841_1_) + { + super.writeToNBT(p_145841_1_); + NBTTagList nbttaglist = new NBTTagList(); + + for (int i = 0; i < this.chestContents.length; ++i) + { + if (this.chestContents[i] != null) + { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte)i); + this.chestContents[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + p_145841_1_.setTag("Items", nbttaglist); + + if (this.hasCustomInventoryName()) + { + p_145841_1_.setString("TestContainer", this.customName); + } + } + + private void func_145978_a(TileEntityTestContainer p_145978_1_, int p_145978_2_) + { + if (p_145978_1_.isInvalid()) + { + this.adjacentChestChecked = false; + } + else if (this.adjacentChestChecked) + { + switch (p_145978_2_) + { + case 0: + if (this.adjacentChestZPos != p_145978_1_) + { + this.adjacentChestChecked = false; + } + + break; + case 1: + if (this.adjacentChestXNeg != p_145978_1_) + { + this.adjacentChestChecked = false; + } + + break; + case 2: + if (this.adjacentChestZNeg != p_145978_1_) + { + this.adjacentChestChecked = false; + } + + break; + case 3: + if (this.adjacentChestXPos != p_145978_1_) + { + this.adjacentChestChecked = false; + } + } + } + } + + public void checkForAdjacentChests() + { + if (!this.adjacentChestChecked) + { + this.adjacentChestChecked = true; + this.adjacentChestZNeg = null; + this.adjacentChestXPos = null; + this.adjacentChestXNeg = null; + this.adjacentChestZPos = null; + + if (this.func_145977_a(this.xCoord - 1, this.yCoord, this.zCoord)) + { + this.adjacentChestXNeg = (TileEntityTestContainer)this.worldObj.getTileEntity(this.xCoord - 1, this.yCoord, this.zCoord); + } + + if (this.func_145977_a(this.xCoord + 1, this.yCoord, this.zCoord)) + { + this.adjacentChestXPos = (TileEntityTestContainer)this.worldObj.getTileEntity(this.xCoord + 1, this.yCoord, this.zCoord); + } + + if (this.func_145977_a(this.xCoord, this.yCoord, this.zCoord - 1)) + { + this.adjacentChestZNeg = (TileEntityTestContainer)this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord - 1); + } + + if (this.func_145977_a(this.xCoord, this.yCoord, this.zCoord + 1)) + { + this.adjacentChestZPos = (TileEntityTestContainer)this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord + 1); + } + + if (this.adjacentChestZNeg != null) + { + this.adjacentChestZNeg.func_145978_a(this, 0); + } + + if (this.adjacentChestZPos != null) + { + this.adjacentChestZPos.func_145978_a(this, 2); + } + + if (this.adjacentChestXPos != null) + { + this.adjacentChestXPos.func_145978_a(this, 1); + } + + if (this.adjacentChestXNeg != null) + { + this.adjacentChestXNeg.func_145978_a(this, 3); + } + } + } + + private boolean func_145977_a(int p_145977_1_, int p_145977_2_, int p_145977_3_) + { + if (this.worldObj == null) + { + return false; + } + else + { + Block block = this.worldObj.getBlock(p_145977_1_, p_145977_2_, p_145977_3_); + return block instanceof TestContainer && ((TestContainer)block).field_149956_a == this.func_145980_j(); + } + } + + public int func_145980_j() + { + if (this.cachedChestType == -1) + { + if (this.worldObj == null || !(this.getBlockType() instanceof TestContainer)) + { + return 0; + } + + this.cachedChestType = ((BlockChest)this.getBlockType()).field_149956_a; + } + + return this.cachedChestType; + } +} diff --git a/com/hbm/blocks/TileEntityTestNuke.java b/com/hbm/blocks/TileEntityTestNuke.java new file mode 100644 index 000000000..df90f9bbe --- /dev/null +++ b/com/hbm/blocks/TileEntityTestNuke.java @@ -0,0 +1,201 @@ +package com.hbm.blocks; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityTestNuke extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + private String customName; + + public TileEntityTestNuke() { + slots = new ItemStack[5]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack decrStackSize(int i, int 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) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.testNuke"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq((double) xCoord + 0.5D, (double) yCoord + 0.5D, (double) zCoord + 0.5D) <=64; + } + } + + @Override + public void openInventory() { + + } + + @Override + public void closeInventory() { + + } + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = (NBTTagCompound) list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + public int getNukeTier() { + if(this.slots[0] != null && this.slots[1] != null && this.slots[2] != null && this.slots[3] != null && this.slots[4] != null) + { + if(this.slots[0].getItem() == ModItems.test_nuke_tier1_shielding && this.slots[1].getItem() == ModItems.test_nuke_tier1_target && this.slots[2].getItem() == ModItems.test_nuke_tier1_bullet && this.slots[3].getItem() == ModItems.test_nuke_propellant && this.slots[4].getItem() == ModItems.test_nuke_igniter) + { + return 1; + } + if(this.slots[0].getItem() == ModItems.test_nuke_tier2_shielding && this.slots[1].getItem() == ModItems.test_nuke_tier2_target && this.slots[2].getItem() == ModItems.test_nuke_tier2_bullet && this.slots[3].getItem() == ModItems.test_nuke_propellant && this.slots[4].getItem() == ModItems.test_nuke_igniter) + { + return 2; + } + if(this.slots[0].getItem() == Item.getItemFromBlock(Blocks.obsidian) && this.slots[1].getItem() == Items.nether_star && this.slots[2].getItem() == Items.diamond && this.slots[3].getItem() == Item.getItemFromBlock(Blocks.tnt) && this.slots[4].getItem() == Items.repeater) + { + return 999; + } + else + { + return 0; + } + } + else + { + return 0; + } + } + + public void clearSlots() { + for(int i = 0; i < slots.length; i++) + { + slots[i] = null; + } + } +} diff --git a/com/hbm/blocks/TileEntityTestRender.java b/com/hbm/blocks/TileEntityTestRender.java new file mode 100644 index 000000000..74ba7869a --- /dev/null +++ b/com/hbm/blocks/TileEntityTestRender.java @@ -0,0 +1,7 @@ +package com.hbm.blocks; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityTestRender extends TileEntity { + +} diff --git a/com/hbm/blocks/TileEntityWireCoated.java b/com/hbm/blocks/TileEntityWireCoated.java new file mode 100644 index 000000000..ffd52ddbb --- /dev/null +++ b/com/hbm/blocks/TileEntityWireCoated.java @@ -0,0 +1,384 @@ +package com.hbm.blocks; + +import com.hbm.lib.Library; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityWireCoated extends TileEntity { + + public static int power; + public static final int maxPower = 600; + + public void updateEntity() { + + //Energy distribution algorithm + /*//Electric Furnace + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof MachineElectricFurnace) + { + TileEntityMachineElectricFurnace entity = (TileEntityMachineElectricFurnace) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + //Wire + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof WireCoated) + { + TileEntityWireCoated entity = (TileEntityWireCoated) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + //Deuterium + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof MachineDeuterium) + { + TileEntityMachineDeuterium entity = (TileEntityMachineDeuterium) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + + //Batteries + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + } + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) instanceof MachineBattery) + { + TileEntityMachineBattery entity = (TileEntityMachineBattery) worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + if(entity.power + 100 <= entity.maxPower && this.power - 100 >= 0) + { + entity.power += 100; + this.power -= 100; + } + }*/ + + /*if(power == 600) { + TileEntity entity0 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + TileEntity entity1 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + TileEntity entity2 = worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + TileEntity entity3 = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + TileEntity entity4 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + TileEntity entity5 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + + TileEntity entity; + + for(int i = 0; i < 6; i++) + { + entity = entity0; + if(i == 1) entity = entity1; + if(i == 2) entity = entity2; + if(i == 3) entity = entity3; + if(i == 4) entity = entity4; + if(i == 5) entity = entity5; + + if(entity instanceof TileEntityMachineElectricFurnace || + entity instanceof TileEntityWireCoated || + entity instanceof TileEntityMachineDeuterium || + entity instanceof TileEntityMachineBattery) + { + if(entity instanceof TileEntityMachineElectricFurnace && ((TileEntityMachineElectricFurnace)entity).power + 100 <= ((TileEntityMachineElectricFurnace)entity).maxPower) + { + ((TileEntityMachineElectricFurnace)entity).power += 100; + } else + if(entity instanceof TileEntityWireCoated && ((TileEntityWireCoated)entity).power + 100 <= ((TileEntityWireCoated)entity).maxPower) + { + ((TileEntityWireCoated)entity).power += 100; + } else + if(entity instanceof TileEntityMachineDeuterium && ((TileEntityMachineDeuterium)entity).power + 100 <= ((TileEntityMachineDeuterium)entity).maxPower) + { + ((TileEntityMachineDeuterium)entity).power += 100; + } else + if(entity instanceof TileEntityMachineBattery && ((TileEntityMachineBattery)entity).power + 100 <= ((TileEntityMachineBattery)entity).maxPower) + { + ((TileEntityMachineBattery)entity).power += 100; + } + this.power -= 100; + } + } + }*/ + + //Energy distributing algorithm V2.0 + /*TileEntity entity0 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + TileEntity entity1 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + TileEntity entity2 = worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + TileEntity entity3 = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + TileEntity entity4 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + TileEntity entity5 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + + if(power == 600 && power != 0) { + + TileEntity entity; + + for(int i = 0; i < 6; i++) + { + entity = entity0; + if(i == 1) entity = entity1; + if(i == 2) entity = entity2; + if(i == 3) entity = entity3; + if(i == 4) entity = entity4; + if(i == 5) entity = entity5; + + if(entity instanceof TileEntityMachineElectricFurnace || + entity instanceof TileEntityWireCoated || + entity instanceof TileEntityMachineDeuterium || + entity instanceof TileEntityMachineBattery) + { + if(entity instanceof TileEntityMachineElectricFurnace && ((TileEntityMachineElectricFurnace)entity).power + 100 <= ((TileEntityMachineElectricFurnace)entity).maxPower) + { + ((TileEntityMachineElectricFurnace)entity).power += 100; + this.power -= 100; + } else + if(entity instanceof TileEntityWireCoated && ((TileEntityWireCoated)entity).power + 100 <= ((TileEntityWireCoated)entity).maxPower) + { + ((TileEntityWireCoated)entity).power += 100; + this.power -= 100; + } else + if(entity instanceof TileEntityMachineDeuterium && ((TileEntityMachineDeuterium)entity).power + 100 <= ((TileEntityMachineDeuterium)entity).maxPower) + { + ((TileEntityMachineDeuterium)entity).power += 100; + this.power -= 100; + } else + if(entity instanceof TileEntityMachineBattery && ((TileEntityMachineBattery)entity).power + 100 <= ((TileEntityMachineBattery)entity).maxPower && !((TileEntityMachineBattery)entity).conducts) + { + ((TileEntityMachineBattery)entity).power += 100; + this.power -= 100; + } + } + } + }*/ + + /*//Energy distributing algorithm V2.1 + TileEntity entity0 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + TileEntity entity1 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + TileEntity entity2 = worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + TileEntity entity3 = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + TileEntity entity4 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + TileEntity entity5 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + + TileEntity entity; + + for(int i = 0; i < 6; i++) + { + entity = entity0; + if(i == 1) entity = entity1; + if(i == 2) entity = entity2; + if(i == 3) entity = entity3; + if(i == 4) entity = entity4; + if(i == 5) entity = entity5; + + if(entity instanceof TileEntityMachineElectricFurnace || + entity instanceof TileEntityWireCoated || + entity instanceof TileEntityMachineDeuterium || + entity instanceof TileEntityMachineBattery) + { + if(entity instanceof TileEntityMachineElectricFurnace && ((TileEntityMachineElectricFurnace)entity).power + 100 <= ((TileEntityMachineElectricFurnace)entity).maxPower) + { + ((TileEntityMachineElectricFurnace)entity).power += 100; + this.power -= 100; + } else + if(entity instanceof TileEntityWireCoated && ((TileEntityWireCoated)entity).power + 100 <= ((TileEntityWireCoated)entity).maxPower) + { + ((TileEntityWireCoated)entity).power += 100; + this.power -= 100; + } else + if(entity instanceof TileEntityMachineDeuterium && ((TileEntityMachineDeuterium)entity).power + 100 <= ((TileEntityMachineDeuterium)entity).maxPower) + { + ((TileEntityMachineDeuterium)entity).power += 100; + this.power -= 100; + } else + if(entity instanceof TileEntityMachineBattery && ((TileEntityMachineBattery)entity).power + 100 <= ((TileEntityMachineBattery)entity).maxPower && !((TileEntityMachineBattery)entity).conducts) + { + ((TileEntityMachineBattery)entity).power += 100; + this.power -= 100; + } + } + }*/ + + Library.distributePower(this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + +} diff --git a/com/hbm/blocks/TileEntityYellowBarrel.java b/com/hbm/blocks/TileEntityYellowBarrel.java new file mode 100644 index 000000000..d01018ea6 --- /dev/null +++ b/com/hbm/blocks/TileEntityYellowBarrel.java @@ -0,0 +1,89 @@ +package com.hbm.blocks; + +import java.util.HashSet; +import java.util.List; + +import com.hbm.entity.EntityNuclearCreeper; +import com.hbm.explosion.ExplosionChaos; +import com.hbm.lib.Library; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; + +public class TileEntityYellowBarrel extends TileEntity { + + public void updateEntity() { + int strength = 4; + float f = strength; + HashSet hashset = new HashSet(); + int i; + int j; + int k; + double d5; + double d6; + double d7; + double wat = 4*2; + boolean isOccupied = false; + + + strength *= 2.0F; + i = MathHelper.floor_double(this.xCoord - wat - 1.0D); + j = MathHelper.floor_double(this.xCoord + wat + 1.0D); + k = MathHelper.floor_double(this.yCoord - wat - 1.0D); + int i2 = MathHelper.floor_double(this.yCoord + wat + 1.0D); + int l = MathHelper.floor_double(this.zCoord - wat - 1.0D); + int j2 = MathHelper.floor_double(this.zCoord + wat + 1.0D); + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox((double)i, (double)k, (double)l, (double)j, (double)i2, (double)j2)); + Vec3 vec3 = Vec3.createVectorHelper(this.xCoord, this.yCoord, this.zCoord); + + for (int i1 = 0; i1 < list.size(); ++i1) + { + Entity entity = (Entity)list.get(i1); + double d4 = entity.getDistance(this.xCoord, this.yCoord, this.zCoord) / (double)4; + + if (d4 <= 1.0D) + { + d5 = entity.posX - this.xCoord; + d6 = entity.posY + (double)entity.getEyeHeight() - this.yCoord; + d7 = entity.posZ - this.zCoord; + double d9 = (double)MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); + if (d9 < wat) + { + if(entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer)entity)) + { + Library.damageSuit(((EntityPlayer)entity), 0); + Library.damageSuit(((EntityPlayer)entity), 1); + Library.damageSuit(((EntityPlayer)entity), 2); + Library.damageSuit(((EntityPlayer)entity), 3); + + } else if(entity instanceof EntityCreeper) { + EntityNuclearCreeper creep = new EntityNuclearCreeper(this.worldObj); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + creep.setRotationYawHead(((EntityCreeper)entity).rotationYawHead); + if(!entity.isDead) + if(!worldObj.isRemote) + worldObj.spawnEntityInWorld(creep); + entity.setDead(); + } else if(entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper)) + { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.getId(), 2 * 60 * 20, 2)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.getId(), 5, 4)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 1 * 60 * 20, 1)); + } + } + } + } + + strength = (int)f; + } +} diff --git a/com/hbm/blocks/WasteEarth.java b/com/hbm/blocks/WasteEarth.java new file mode 100644 index 000000000..10b2f7f07 --- /dev/null +++ b/com/hbm/blocks/WasteEarth.java @@ -0,0 +1,112 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.entity.EntityNuclearCreeper; +import com.hbm.items.ModItems; +import com.hbm.lib.Library; +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.entity.EntityClientPlayerMP; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class WasteEarth extends Block { + + @SideOnly(Side.CLIENT) + private IIcon iconTop; + private IIcon iconBottom; + + protected WasteEarth(Material p_i45394_1_) { + super(p_i45394_1_); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (this == ModBlocks.waste_earth ? ":waste_earth_top" : ":frozen_grass_top")); + this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + (this == ModBlocks.waste_earth ? ":waste_earth_bottom" : ":frozen_dirt")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + (this == ModBlocks.waste_earth ? ":waste_earth_side" : ":frozen_grass_side")); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 1 ? this.iconTop : (side == 0 ? this.iconBottom : this.blockIcon); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + if(this == ModBlocks.waste_earth) + { + return Item.getItemFromBlock(Blocks.dirt); + } + + if(this == ModBlocks.frozen_grass) + { + return Items.snowball; + } + + return null; + } + + public int quantityDropped(Random p_149745_1_) + { + return 1; + } + + public void onEntityWalking(World p_149724_1_, int p_149724_2_, int p_149724_3_, int p_149724_4_, Entity entity) + { + if (entity instanceof EntityLivingBase && this == ModBlocks.waste_earth) + { + if(entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer)entity)) + { + Library.damageSuit(((EntityPlayer)entity), 0); + Library.damageSuit(((EntityPlayer)entity), 1); + Library.damageSuit(((EntityPlayer)entity), 2); + Library.damageSuit(((EntityPlayer)entity), 3); + + } else if(entity instanceof EntityCreeper) { + EntityNuclearCreeper creep = new EntityNuclearCreeper(p_149724_1_); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + creep.setRotationYawHead(((EntityCreeper)entity).rotationYawHead); + if(!entity.isDead) + if(!p_149724_1_.isRemote) + p_149724_1_.spawnEntityInWorld(creep); + entity.setDead(); + } else if(!(entity instanceof EntityNuclearCreeper)) { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.id, 2 * 60 * 20, 2)); + } + } + + if (entity instanceof EntityLivingBase && this == ModBlocks.frozen_grass) + { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2 * 60 * 20, 2)); + } + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int p_149734_2_, int p_149734_3_, int p_149734_4_, Random p_149734_5_) + { + super.randomDisplayTick(p_149734_1_, p_149734_2_, p_149734_3_, p_149734_4_, p_149734_5_); + + if (this == ModBlocks.waste_earth) + { + p_149734_1_.spawnParticle("townaura", (double)((float)p_149734_2_ + p_149734_5_.nextFloat()), (double)((float)p_149734_3_ + 1.1F), (double)((float)p_149734_4_ + p_149734_5_.nextFloat()), 0.0D, 0.0D, 0.0D); + } + } + +} diff --git a/com/hbm/blocks/WasteLog.java b/com/hbm/blocks/WasteLog.java new file mode 100644 index 000000000..affeb9484 --- /dev/null +++ b/com/hbm/blocks/WasteLog.java @@ -0,0 +1,63 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class WasteLog extends Block { + + @SideOnly(Side.CLIENT) + private IIcon iconTop; + + protected WasteLog(Material p_i45394_1_) { + super(p_i45394_1_); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (this == ModBlocks.waste_log ? ":waste_log_top" : ":frozen_log_top")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + (this == ModBlocks.waste_log ? ":waste_log_side" : ":frozen_log")); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); + } + + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + if(this == ModBlocks.waste_log) + { + return Items.coal; + } + if(this == ModBlocks.frozen_log) + { + return Items.snowball; + } + + return null; + } + + public int quantityDropped(Random p_149745_1_) + { + return 2 + p_149745_1_.nextInt(3); + } + + public int damageDropped(int p_149692_1_) + { + return 1; + } + +} \ No newline at end of file diff --git a/com/hbm/blocks/WireCoated.java b/com/hbm/blocks/WireCoated.java new file mode 100644 index 000000000..e31a6e102 --- /dev/null +++ b/com/hbm/blocks/WireCoated.java @@ -0,0 +1,19 @@ +package com.hbm.blocks; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class WireCoated extends BlockContainer { + + protected WireCoated(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityWireCoated(); + } + +} diff --git a/com/hbm/blocks/YellowBarrel.java b/com/hbm/blocks/YellowBarrel.java new file mode 100644 index 000000000..1c0d0d55c --- /dev/null +++ b/com/hbm/blocks/YellowBarrel.java @@ -0,0 +1,81 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.explosion.ExplosionNukeGeneric; +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.Explosion; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class YellowBarrel extends BlockContainer { + + protected YellowBarrel(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityYellowBarrel(); + } + + public void onBlockDestroyedByExplosion(World p_149723_1_, int p_149723_2_, int p_149723_3_, int p_149723_4_, Explosion p_149723_5_) + { + if (!p_149723_1_.isRemote) + { + explode(p_149723_1_, p_149723_2_, p_149723_3_, p_149723_4_); + } + } + + public void explode(World p_149695_1_, int x, int y, int z) { + p_149695_1_.createExplosion(null, x, y, z, 18.0F, true); + ExplosionNukeGeneric.waste(p_149695_1_, x, y, z, 35); + } + + public int getRenderType(){ + return -1; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconregister) { + this.blockIcon = iconregister.registerIcon(RefStrings.MODID + ":yellow_barrel"); + } + + public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) + { + float f = 0.0625F; + this.setBlockBounds(2*f, 0.0F, 2*f, 14*f, 1.0F, 14*f); + } + + public boolean canDropFromExplosion(Explosion p_149659_1_) + { + return false; + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int p_149734_2_, int p_149734_3_, int p_149734_4_, Random p_149734_5_) + { + super.randomDisplayTick(p_149734_1_, p_149734_2_, p_149734_3_, p_149734_4_, p_149734_5_); + + p_149734_1_.spawnParticle("townaura", (double)((float)p_149734_2_ + p_149734_5_.nextFloat()), (double)((float)p_149734_3_ + 1.1F), (double)((float)p_149734_4_ + p_149734_5_.nextFloat()), 0.0D, 0.0D, 0.0D); + } + +} diff --git a/com/hbm/calc/EasyLocation.java b/com/hbm/calc/EasyLocation.java new file mode 100644 index 000000000..a5074352a --- /dev/null +++ b/com/hbm/calc/EasyLocation.java @@ -0,0 +1,14 @@ +package com.hbm.calc; + +public class EasyLocation { + + public double posX; + public double posY; + public double posZ; + + public EasyLocation(double x, double y, double z) { + posX = x; + posY = y; + posZ = z; + } +} diff --git a/com/hbm/calc/EasyVector.java b/com/hbm/calc/EasyVector.java new file mode 100644 index 000000000..809ee9006 --- /dev/null +++ b/com/hbm/calc/EasyVector.java @@ -0,0 +1,16 @@ +package com.hbm.calc; + +public class EasyVector { + + public double a; + public double b; + + public EasyVector(double a, double b) { + this.a = a; + this.b = b; + } + + public double getResult() { + return Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)); + } +} diff --git a/com/hbm/creativetabs/BlockTab.java b/com/hbm/creativetabs/BlockTab.java new file mode 100644 index 000000000..48539898c --- /dev/null +++ b/com/hbm/creativetabs/BlockTab.java @@ -0,0 +1,26 @@ +package com.hbm.creativetabs; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Items; +import net.minecraft.item.Item; + +public class BlockTab extends CreativeTabs { + + public BlockTab(int p_i1853_1_, String p_i1853_2_) { + super(p_i1853_1_, p_i1853_2_); + } + + @Override + public Item getTabIconItem() { + + if(ModBlocks.ore_uranium != null) + { + return Item.getItemFromBlock(ModBlocks.ore_uranium); + } + + return Items.iron_pickaxe; + } + +} diff --git a/com/hbm/creativetabs/NukeTab.java b/com/hbm/creativetabs/NukeTab.java new file mode 100644 index 000000000..fc490f139 --- /dev/null +++ b/com/hbm/creativetabs/NukeTab.java @@ -0,0 +1,26 @@ +package com.hbm.creativetabs; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Items; +import net.minecraft.item.Item; + +public class NukeTab extends CreativeTabs { + + public NukeTab(int p_i1853_1_, String p_i1853_2_) { + super(p_i1853_1_, p_i1853_2_); + } + + @Override + public Item getTabIconItem() { + + if(ModBlocks.float_bomb != null) + { + return Item.getItemFromBlock(ModBlocks.float_bomb); + } + + return Items.iron_pickaxe; + } + +} diff --git a/com/hbm/creativetabs/PartsTab.java b/com/hbm/creativetabs/PartsTab.java new file mode 100644 index 000000000..4167f7d94 --- /dev/null +++ b/com/hbm/creativetabs/PartsTab.java @@ -0,0 +1,27 @@ +package com.hbm.creativetabs; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Items; +import net.minecraft.item.Item; + +public class PartsTab extends CreativeTabs { + + public PartsTab(int p_i1853_1_, String p_i1853_2_) { + super(p_i1853_1_, p_i1853_2_); + } + + @Override + public Item getTabIconItem() { + + if(ModItems.ingot_uranium != null) + { + return ModItems.ingot_uranium; + } + + return Items.iron_pickaxe; + } + +} diff --git a/com/hbm/creativetabs/TestTab.java b/com/hbm/creativetabs/TestTab.java new file mode 100644 index 000000000..fad91ed3d --- /dev/null +++ b/com/hbm/creativetabs/TestTab.java @@ -0,0 +1,26 @@ +package com.hbm.creativetabs; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Items; +import net.minecraft.item.Item; + +public class TestTab extends CreativeTabs { + + public TestTab(int p_i1853_1_, String p_i1853_2_) { + super(p_i1853_1_, p_i1853_2_); + } + + @Override + public Item getTabIconItem() { + + if(ModBlocks.test_nuke != null) + { + return Item.getItemFromBlock(ModBlocks.test_nuke); + } + + return Items.iron_pickaxe; + } + +} diff --git a/com/hbm/entity/EntityAINuclearCreeperSwell.java b/com/hbm/entity/EntityAINuclearCreeperSwell.java new file mode 100644 index 000000000..da6dec14a --- /dev/null +++ b/com/hbm/entity/EntityAINuclearCreeperSwell.java @@ -0,0 +1,68 @@ +package com.hbm.entity; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.ai.EntityAIBase; +import net.minecraft.entity.monster.EntityCreeper; + +public class EntityAINuclearCreeperSwell extends EntityAIBase { + /** The creeper that is swelling. */ + EntityNuclearCreeper swellingCreeper; + /** The creeper's attack target. This is used for the changing of the creeper's state. */ + EntityLivingBase creeperAttackTarget; + private static final String __OBFID = "CL_00001614"; + + public EntityAINuclearCreeperSwell(EntityNuclearCreeper p_i1655_1_) + { + this.swellingCreeper = p_i1655_1_; + this.setMutexBits(1); + } + + /** + * Returns whether the EntityAIBase should begin execution. + */ + public boolean shouldExecute() + { + EntityLivingBase entitylivingbase = this.swellingCreeper.getAttackTarget(); + return this.swellingCreeper.getCreeperState() > 0 || entitylivingbase != null && this.swellingCreeper.getDistanceSqToEntity(entitylivingbase) < 9.0D; + } + + /** + * Execute a one shot task or start executing a continuous task + */ + public void startExecuting() + { + this.swellingCreeper.getNavigator().clearPathEntity(); + this.creeperAttackTarget = this.swellingCreeper.getAttackTarget(); + } + + /** + * Resets the task + */ + public void resetTask() + { + this.creeperAttackTarget = null; + } + + /** + * Updates the task + */ + public void updateTask() + { + if (this.creeperAttackTarget == null) + { + this.swellingCreeper.setCreeperState(-1); + } + else if (this.swellingCreeper.getDistanceSqToEntity(this.creeperAttackTarget) > 49.0D) + { + this.swellingCreeper.setCreeperState(-1); + } + else if (!this.swellingCreeper.getEntitySenses().canSee(this.creeperAttackTarget)) + { + this.swellingCreeper.setCreeperState(-1); + } + else + { + this.swellingCreeper.setCreeperState(1); + } + } +} diff --git a/com/hbm/entity/EntityBullet.java b/com/hbm/entity/EntityBullet.java new file mode 100644 index 000000000..34ba65cf8 --- /dev/null +++ b/com/hbm/entity/EntityBullet.java @@ -0,0 +1,619 @@ +package com.hbm.entity; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.play.server.S2BPacketChangeGameState; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +import com.hbm.blocks.DecoBlockAlt; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.RedBarrel; +import com.hbm.items.ModItems; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityBullet extends Entity implements IProjectile +{ + private int field_145791_d = -1; + private int field_145792_e = -1; + private int field_145789_f = -1; + public double gravity = 0.0D; + private Block field_145790_g; + private int inData; + private boolean inGround; + /** 1 if the player can pick up the arrow */ + public int canBePickedUp; + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake; + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir; + private double damage = 2.0D; + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + private static final String __OBFID = "CL_00001715"; + private int dmgMin = 0; + private int dmgMax = 1; + private boolean instakill = false; + + + public EntityBullet(World p_i1753_1_) + { + super(p_i1753_1_); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityBullet(World p_i1754_1_, double p_i1754_2_, double p_i1754_4_, double p_i1754_6_) + { + super(p_i1754_1_); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(p_i1754_2_, p_i1754_4_, p_i1754_6_); + this.yOffset = 0.0F; + } + + public EntityBullet(World p_i1755_1_, EntityLivingBase p_i1755_2_, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_) + { + super(p_i1755_1_); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = p_i1755_2_; + + if (p_i1755_2_ instanceof EntityPlayer) + { + this.canBePickedUp = 1; + } + + this.posY = p_i1755_2_.posY + (double)p_i1755_2_.getEyeHeight() - 0.10000000149011612D; + double d0 = p_i1755_3_.posX - p_i1755_2_.posX; + double d1 = p_i1755_3_.boundingBox.minY + (double)(p_i1755_3_.height / 3.0F) - this.posY; + double d2 = p_i1755_3_.posZ - p_i1755_2_.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) + { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(p_i1755_2_.posX + d4, this.posY, p_i1755_2_.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, p_i1755_4_, p_i1755_5_); + } + } + + public EntityBullet(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_, int dmgMin, int dmgMax, boolean instakill) + { + super(p_i1756_1_); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = p_i1756_2_; + + if (p_i1756_2_ instanceof EntityPlayer) + { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(p_i1756_2_.posX, p_i1756_2_.posY + (double)p_i1756_2_.getEyeHeight(), p_i1756_2_.posZ, p_i1756_2_.rotationYaw, p_i1756_2_.rotationPitch); + this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double)(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 = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F); + + //this.dmgMin = dmgMin; + //this.dmgMax = dmgMax; + this.instakill = instakill; + } + + public EntityBullet(World world, int x, int y, int z, double mx, double my, double mz, double grav) { + super(world); + this.posX = x + 0.5F; + this.posY = y + 0.5F; + this.posZ = z + 0.5F; + + this.motionX = mx; + this.motionY = my; + this.motionZ = mz; + + this.gravity = grav; + } + + protected void entityInit() + { + this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, float p_70186_8_) + { + float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_); + p_70186_1_ /= (double)f2; + p_70186_3_ /= (double)f2; + p_70186_5_ /= (double)f2; + p_70186_1_ += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_; + p_70186_3_ += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_; + p_70186_5_ += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_; + p_70186_1_ *= (double)p_70186_7_; + p_70186_3_ *= (double)p_70186_7_; + p_70186_5_ *= (double)p_70186_7_; + this.motionX = p_70186_1_; + this.motionY = p_70186_3_; + this.motionZ = p_70186_5_; + float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70186_3_, (double)f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_, float p_70056_8_, int p_70056_9_) + { + this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_); + this.setRotation(p_70056_7_, p_70056_8_); + } + + /** + * Sets the velocity to the args. Args: x, y, z + */ + @SideOnly(Side.CLIENT) + public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) + { + this.motionX = p_70016_1_; + this.motionY = p_70016_3_; + this.motionZ = p_70016_5_; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) + { + float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70016_3_, (double)f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + //@Override + public void onUpdate() + { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) + { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + //this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + } + + Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); + + if (block.getMaterial() != Material.air && !(block instanceof DecoBlockAlt)) + { + block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); + AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) + { + this.inGround = true; + } + + if(block == ModBlocks.red_barrel) + { + ((RedBarrel)block).explode(worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); + } + + if(block == Blocks.glass || block == Blocks.stained_glass || block == Blocks.glass_pane || block == Blocks.stained_glass_pane) + { + this.worldObj.setBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f, Blocks.air); + this.worldObj.playSound(this.field_145791_d, this.field_145792_e, this.field_145789_f, "dig.glass", 1.0F, 1.0F, true); + } + } + + if (this.arrowShake > 0) + { + --this.arrowShake; + } + + if (this.inGround) + { + this.setDead(); + } + else + { + ++this.ticksInAir; + Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) + { + vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int i; + float f1; + + for (i = 0; i < list.size(); ++i) + { + Entity entity1 = (Entity)list.get(i); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) + { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3); + + if (movingobjectposition1 != null) + { + double d1 = vec31.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) + { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) + { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) + { + EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) + { + movingobjectposition = null; + entityplayer.attackEntityFrom(DamageSource.generic, dmgMin + rand.nextInt(dmgMax - dmgMin)); + } + } + + float f2; + float f4; + + if (movingobjectposition != null) + { + if (movingobjectposition.entityHit != null) + { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int k = MathHelper.ceiling_double_int((double)f2 * this.damage); + + if (this.getIsCritical()) + { + k += this.rand.nextInt(k / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) + { + damagesource = DamageSource.causeIndirectMagicDamage(this, this); + } + else + { + damagesource = DamageSource.causeIndirectMagicDamage(this, this); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) + { + movingobjectposition.entityHit.setFire(5); + } + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, /*(float)k*/(float)damage)) + { + if (movingobjectposition.entityHit instanceof EntityLivingBase) + { + EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) + { + //entitylivingbase.setArrowCountInEntity(entitylivingbase.getArrowCountInEntity() + 1); + } + + if (this.knockbackStrength > 0) + { + f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f4 > 0.0F) + { + movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f4, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f4); + } + } + + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) + { + EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) + { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); + } + } + + + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) + { + if (!this.worldObj.isRemote) + { + if(!instakill || movingobjectposition.entityHit instanceof EntityPlayer) + { + //movingobjectposition.entityHit.attackEntityFrom(DamageSource.generic, dmgMin + rand.nextInt(dmgMax - dmgMin)); + } else if(movingobjectposition.entityHit instanceof EntityLivingBase) { + ((EntityLivingBase)movingobjectposition.entityHit).setHealth(0.0F); + } + } + this.setDead(); + } + } + else + { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } + else + { + this.field_145791_d = movingobjectposition.blockX; + this.field_145792_e = movingobjectposition.blockY; + this.field_145789_f = movingobjectposition.blockZ; + this.field_145790_g = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); + this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f); + this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if (this.field_145790_g.getMaterial() != Material.air) + { + this.field_145790_g.onEntityCollidedWithBlock(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f, this); + } + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + //for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + /*while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + }*/ + + //this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + //this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f3 = 0.99F; + f1 = 0.05F; + + if (this.isInWater()) + { + for (int l = 0; l < 4; ++l) + { + f4 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f4, this.posY - this.motionY * (double)f4, this.posZ - this.motionZ * (double)f4, this.motionX, this.motionY, this.motionZ); + } + + f3 = 0.8F; + } + + if (this.isWet()) + { + this.extinguish(); + } + + this.motionX *= (double)f3; + this.motionY *= (double)f3; + this.motionZ *= (double)f3; + this.motionY -= (double)gravity; + this.setPosition(this.posX, this.posY, this.posZ); + this.func_145775_I(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound p_70014_1_) + { + p_70014_1_.setShort("xTile", (short)this.field_145791_d); + p_70014_1_.setShort("yTile", (short)this.field_145792_e); + p_70014_1_.setShort("zTile", (short)this.field_145789_f); + p_70014_1_.setShort("life", (short)this.ticksInGround); + p_70014_1_.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g)); + p_70014_1_.setByte("inData", (byte)this.inData); + p_70014_1_.setByte("shake", (byte)this.arrowShake); + p_70014_1_.setByte("inGround", (byte)(this.inGround ? 1 : 0)); + p_70014_1_.setByte("pickup", (byte)this.canBePickedUp); + p_70014_1_.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound p_70037_1_) + { + this.field_145791_d = p_70037_1_.getShort("xTile"); + this.field_145792_e = p_70037_1_.getShort("yTile"); + this.field_145789_f = p_70037_1_.getShort("zTile"); + this.ticksInGround = p_70037_1_.getShort("life"); + this.field_145790_g = Block.getBlockById(p_70037_1_.getByte("inTile") & 255); + this.inData = p_70037_1_.getByte("inData") & 255; + this.arrowShake = p_70037_1_.getByte("shake") & 255; + this.inGround = p_70037_1_.getByte("inGround") == 1; + + if (p_70037_1_.hasKey("damage", 99)) + { + this.damage = p_70037_1_.getDouble("damage"); + } + + if (p_70037_1_.hasKey("pickup", 99)) + { + this.canBePickedUp = p_70037_1_.getByte("pickup"); + } + else if (p_70037_1_.hasKey("player", 99)) + { + this.canBePickedUp = p_70037_1_.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer p_70100_1_) + { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) + { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && p_70100_1_.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !p_70100_1_.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_rpg_ammo, 1))) + { + flag = false; + } + + if (flag) + { + p_70100_1_.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to + * prevent them from trampling crops + */ + protected boolean canTriggerWalking() + { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() + { + return 0.0F; + } + + public void setDamage(double p_70239_1_) + { + this.damage = p_70239_1_; + } + + public double getDamage() + { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int p_70240_1_) + { + this.knockbackStrength = p_70240_1_; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() + { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean p_70243_1_) + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (p_70243_1_) + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } + else + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } +} diff --git a/com/hbm/entity/EntityGrenadeCluster.java b/com/hbm/entity/EntityGrenadeCluster.java new file mode 100644 index 000000000..eba166087 --- /dev/null +++ b/com/hbm/entity/EntityGrenadeCluster.java @@ -0,0 +1,52 @@ +package com.hbm.entity; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityBlaze; +import net.minecraft.entity.projectile.EntityThrowable; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +import com.hbm.explosion.ExplosionChaos; + +public class EntityGrenadeCluster extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + + public EntityGrenadeCluster(World p_i1773_1_) + { + super(p_i1773_1_); + } + + public EntityGrenadeCluster(World p_i1774_1_, EntityLivingBase p_i1774_2_) + { + super(p_i1774_1_, p_i1774_2_); + } + + public EntityGrenadeCluster(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) + { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + 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()), (float)b0); + } + + if (!this.worldObj.isRemote) + { + this.setDead(); + ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10, 50); + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 1.5F, true); + } + } +} diff --git a/com/hbm/entity/EntityGrenadeElectric.java b/com/hbm/entity/EntityGrenadeElectric.java new file mode 100644 index 000000000..f10b3ed45 --- /dev/null +++ b/com/hbm/entity/EntityGrenadeElectric.java @@ -0,0 +1,54 @@ +package com.hbm.entity; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.effect.EntityLightningBolt; +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 EntityGrenadeElectric extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + + public EntityGrenadeElectric(World p_i1773_1_) + { + super(p_i1773_1_); + } + + public EntityGrenadeElectric(World p_i1774_1_, EntityLivingBase p_i1774_2_) + { + super(p_i1774_1_, p_i1774_2_); + } + + public EntityGrenadeElectric(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) + { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + 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()), (float)b0); + } + + if (!this.worldObj.isRemote) + { + this.setDead(); + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.0F, true); + } + this.worldObj.spawnEntityInWorld(new EntityLightningBolt(this.worldObj, this.posX, this.posY, this.posZ)); + } + +} diff --git a/com/hbm/entity/EntityGrenadeFire.java b/com/hbm/entity/EntityGrenadeFire.java new file mode 100644 index 000000000..a777b96ea --- /dev/null +++ b/com/hbm/entity/EntityGrenadeFire.java @@ -0,0 +1,56 @@ +package com.hbm.entity; + +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.util.DamageSource; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +import com.hbm.explosion.ExplosionChaos; + +public class EntityGrenadeFire extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + public Entity shooter; + + public EntityGrenadeFire(World p_i1773_1_) + { + super(p_i1773_1_); + } + + public EntityGrenadeFire(World p_i1774_1_, EntityLivingBase p_i1774_2_) + { + super(p_i1774_1_, p_i1774_2_); + } + + public EntityGrenadeFire(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) + { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + 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()), (float)b0); + } + + if (!this.worldObj.isRemote) + { + this.setDead(); + ExplosionChaos.frag(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, true, this.shooter); + ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 5); + ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 15); + this.worldObj.playSoundEffect((int)this.posX, (int)this.posY, (int)this.posZ, "random.explode", 4.0F, (1.0F + (this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F) * 0.7F); + } + } +} diff --git a/com/hbm/entity/EntityGrenadeFlare.java b/com/hbm/entity/EntityGrenadeFlare.java new file mode 100644 index 000000000..f70e6b155 --- /dev/null +++ b/com/hbm/entity/EntityGrenadeFlare.java @@ -0,0 +1,48 @@ +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 EntityGrenadeFlare extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + public Entity shooter; + + public EntityGrenadeFlare(World p_i1773_1_) + { + super(p_i1773_1_); + } + + public EntityGrenadeFlare(World p_i1774_1_, EntityLivingBase p_i1774_2_) + { + super(p_i1774_1_, p_i1774_2_); + } + + public EntityGrenadeFlare(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) + { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + public void onUpdate() { + super.onUpdate(); + if(this.ticksExisted > 250) + { + this.setDead(); + } + } + + protected void onImpact(MovingObjectPosition p_70184_1_) + { + this.motionX = 0; + this.motionY = 0; + this.motionZ = 0; + } +} diff --git a/com/hbm/entity/EntityGrenadeFrag.java b/com/hbm/entity/EntityGrenadeFrag.java new file mode 100644 index 000000000..e57fa942a --- /dev/null +++ b/com/hbm/entity/EntityGrenadeFrag.java @@ -0,0 +1,63 @@ +package com.hbm.entity; + +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.util.DamageSource; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +import com.hbm.explosion.ExplosionChaos; + +public class EntityGrenadeFrag extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + public Entity shooter; + + public EntityGrenadeFrag(World p_i1773_1_) + { + super(p_i1773_1_); + } + + public EntityGrenadeFrag(World p_i1774_1_, EntityLivingBase p_i1774_2_) + { + super(p_i1774_1_, p_i1774_2_); + } + + public EntityGrenadeFrag(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) + { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + 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()), (float)b0); + } + + if (!this.worldObj.isRemote) + { + if(this.isBurning()) + { + this.setDead(); + ExplosionChaos.frag(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, true, this.shooter); + ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 5); + ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 15); + this.worldObj.playSoundEffect((int)this.posX, (int)this.posY, (int)this.posZ, "random.explode", 4.0F, (1.0F + (this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F) * 0.7F); + } else { + this.setDead(); + ExplosionChaos.frag(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, false, this.shooter); + this.worldObj.playSoundEffect((int)this.posX, (int)this.posY, (int)this.posZ, "random.explode", 4.0F, (1.0F + (this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F) * 0.7F); + } + } + } +} diff --git a/com/hbm/entity/EntityGrenadeGas.java b/com/hbm/entity/EntityGrenadeGas.java new file mode 100644 index 000000000..5f52eafd1 --- /dev/null +++ b/com/hbm/entity/EntityGrenadeGas.java @@ -0,0 +1,55 @@ +package com.hbm.entity; + +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; + +import com.hbm.explosion.ExplosionChaos; + +public class EntityGrenadeGas extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + + public EntityGrenadeGas(World p_i1773_1_) + { + super(p_i1773_1_); + } + + public EntityGrenadeGas(World p_i1774_1_, EntityLivingBase p_i1774_2_) + { + super(p_i1774_1_, p_i1774_2_); + } + + public EntityGrenadeGas(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) + { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + 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()), (float)b0); + } + + if (!this.worldObj.isRemote) + { + 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, 10); + } + } + +} diff --git a/com/hbm/entity/EntityGrenadeGeneric.java b/com/hbm/entity/EntityGrenadeGeneric.java new file mode 100644 index 000000000..b543e322b --- /dev/null +++ b/com/hbm/entity/EntityGrenadeGeneric.java @@ -0,0 +1,54 @@ +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 EntityGrenadeGeneric extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + + public EntityGrenadeGeneric(World p_i1773_1_) + { + super(p_i1773_1_); + } + + public EntityGrenadeGeneric(World p_i1774_1_, EntityLivingBase p_i1774_2_) + { + super(p_i1774_1_, p_i1774_2_); + } + + public EntityGrenadeGeneric(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) + { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + 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()), (float)b0); + } + + if (!this.worldObj.isRemote) + { + this.setDead(); + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.0F, true); + } + } + +} diff --git a/com/hbm/entity/EntityGrenadeNuke.java b/com/hbm/entity/EntityGrenadeNuke.java new file mode 100644 index 000000000..d51b8a818 --- /dev/null +++ b/com/hbm/entity/EntityGrenadeNuke.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 EntityGrenadeNuke extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + public int count = 2; + + public EntityGrenadeNuke(World p_i1773_1_) + { + super(p_i1773_1_); + } + + public EntityGrenadeNuke(World p_i1774_1_, EntityLivingBase p_i1774_2_) + { + super(p_i1774_1_, p_i1774_2_); + } + + public EntityGrenadeNuke(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) + { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + 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()), (float)b0); + } + + if (!this.worldObj.isRemote) + { + //this.setDead(); + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 30F, true); + } + } + +} diff --git a/com/hbm/entity/EntityGrenadePoison.java b/com/hbm/entity/EntityGrenadePoison.java new file mode 100644 index 000000000..09deb6a1c --- /dev/null +++ b/com/hbm/entity/EntityGrenadePoison.java @@ -0,0 +1,56 @@ +package com.hbm.entity; + +import com.hbm.explosion.ExplosionChaos; +import com.hbm.explosion.ExplosionNukeGeneric; + +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 EntityGrenadePoison extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + + public EntityGrenadePoison(World p_i1773_1_) + { + super(p_i1773_1_); + } + + public EntityGrenadePoison(World p_i1774_1_, EntityLivingBase p_i1774_2_) + { + super(p_i1774_1_, p_i1774_2_); + } + + public EntityGrenadePoison(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) + { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + 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()), (float)b0); + } + + if (!this.worldObj.isRemote) + { + this.setDead(); + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.0F, true); + ExplosionNukeGeneric.waste(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10); + } + } + +} diff --git a/com/hbm/entity/EntityGrenadeSchrabidium.java b/com/hbm/entity/EntityGrenadeSchrabidium.java new file mode 100644 index 000000000..f1923ec06 --- /dev/null +++ b/com/hbm/entity/EntityGrenadeSchrabidium.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 EntityGrenadeSchrabidium extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + + public EntityGrenadeSchrabidium(World p_i1773_1_) + { + super(p_i1773_1_); + } + + public EntityGrenadeSchrabidium(World p_i1774_1_, EntityLivingBase p_i1774_2_) + { + super(p_i1774_1_, p_i1774_2_); + } + + public EntityGrenadeSchrabidium(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) + { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + 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()), (float)b0); + } + + if (!this.worldObj.isRemote) + { + this.setDead(); + ExplosionChaos.schrab(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 50, 50); + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 1.5F, true); + } + } + +} diff --git a/com/hbm/entity/EntityGrenadeStrong.java b/com/hbm/entity/EntityGrenadeStrong.java new file mode 100644 index 000000000..3bafb236e --- /dev/null +++ b/com/hbm/entity/EntityGrenadeStrong.java @@ -0,0 +1,51 @@ +package com.hbm.entity; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityBlaze; +import net.minecraft.entity.projectile.EntityThrowable; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +import com.hbm.explosion.ExplosionChaos; + +public class EntityGrenadeStrong extends EntityThrowable +{ + private static final String __OBFID = "CL_00001722"; + + public EntityGrenadeStrong(World p_i1773_1_) + { + super(p_i1773_1_); + } + + public EntityGrenadeStrong(World p_i1774_1_, EntityLivingBase p_i1774_2_) + { + super(p_i1774_1_, p_i1774_2_); + } + + public EntityGrenadeStrong(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) + { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + 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()), (float)b0); + } + + if (!this.worldObj.isRemote) + { + this.setDead(); + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5.0F, true); + } + } +} diff --git a/com/hbm/entity/EntityMirv.java b/com/hbm/entity/EntityMirv.java new file mode 100644 index 000000000..fae2556ef --- /dev/null +++ b/com/hbm/entity/EntityMirv.java @@ -0,0 +1,88 @@ +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.projectile.EntityThrowable; +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class EntityMirv extends EntityThrowable { + + public EntityMirv(World p_i1582_1_) { + super(p_i1582_1_); + this.ignoreFrustumCheck = true; + } + + @Override + public void onUpdate() { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.motionY -= 0.03; + + this.rotation(); + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj); + entity.posX = this.posX; + entity.posY = this.posY; + entity.posZ = this.posZ; + entity.destructionRange = 35; + entity.speed = 25; + entity.coefficient = 10.0F; + + this.worldObj.spawnEntityInWorld(entity); + } + this.setDead(); + } + } + + protected void rotation() { + float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + } + } + + @Override + protected void onImpact(MovingObjectPosition p_70184_1_) { + + } + + @SideOnly(Side.CLIENT) + public boolean isInRangeToRenderDist(double distance) + { + return distance < 25000; + } + +} diff --git a/com/hbm/entity/EntityMissileAntiBallistic.java b/com/hbm/entity/EntityMissileAntiBallistic.java new file mode 100644 index 000000000..bedd1ea56 --- /dev/null +++ b/com/hbm/entity/EntityMissileAntiBallistic.java @@ -0,0 +1,187 @@ +package com.hbm.entity; + +import com.hbm.calc.EasyLocation; +import com.hbm.explosion.ExplosionChaos; + +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileAntiBallistic extends EntityMissileBase { + + EasyLocation missile; + Entity missile0; + + public EntityMissileAntiBallistic(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileAntiBallistic(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + } + + @Override + public void onUpdate() + { + this.baseHeight = 35; + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + if(missile0 == null) + { + missile0 = ExplosionChaos.getHomingTarget(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 25, (Entity)this); + } + if(missile0 != null && missile == null) + { + missile = new EasyLocation(missile0.posX, missile0.posY, missile0.posZ); + this.phase = -1; + } + + this.rotation(); + + switch(phase) + { + case -1: + if(missile0 != null) + { + freePizzaGoddammit(missile); + this.missileSpeed = 3; + if(missile0.posX + 2 > this.posX && missile0.posX - 2 < this.posX && + missile0.posY + 2 > this.posY && missile0.posY - 2 < this.posY && + missile0.posZ + 2 > this.posZ && missile0.posZ - 2 < this.posZ) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); + } + this.setDead(); + missile0.setDead(); + missile0 = null; + //ExplosionChaos.delMissiles(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 5, (Entity)this); + } + } + break; + + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); + } + this.setDead(); + } + } + +} diff --git a/com/hbm/entity/EntityMissileBase.java b/com/hbm/entity/EntityMissileBase.java new file mode 100644 index 000000000..f4212667d --- /dev/null +++ b/com/hbm/entity/EntityMissileBase.java @@ -0,0 +1,249 @@ +package com.hbm.entity; + +import com.hbm.calc.EasyLocation; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.projectile.EntityThrowable; +import net.minecraft.init.Blocks; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class EntityMissileBase extends EntityThrowable { + + EasyLocation origin; + EasyLocation loc0; + EasyLocation loc1; + EasyLocation loc2; + EasyLocation loc3; + EasyLocation loc4; + EasyLocation loc5; + EasyLocation loc6; + EasyLocation loc7; + EasyLocation target; + + public int phase = 0; + + public int targetPoint = 0; + public int lengthX; + public int lengthZ; + public double lengthFlight; + public int baseHeight = 50; + public double missileSpeed = 1.5; + + public EntityMissileBase(World p_i1776_1_) { + super(p_i1776_1_); + this.ignoreFrustumCheck = true; + } + + public EntityMissileBase(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_); + this.ignoreFrustumCheck = true; + this.posX = a; + this.posY = b; + this.posZ = c; + + this.motionY = 0.1; + + lengthX = (int) (x - this.posX); + lengthZ = (int) (z - this.posZ); + lengthFlight = Math.sqrt(Math.pow(lengthX, 2) + Math.pow(lengthZ, 2)); + + + origin = new EasyLocation(this.posX, this.posY, this.posZ); + + loc0 = new EasyLocation(this.posX, this.posY + baseHeight, this.posZ); + loc1 = new EasyLocation(this.posX + lengthX/lengthFlight * 10, this.posY + baseHeight + 20, this.posZ + lengthZ/lengthFlight * 10); + loc2 = new EasyLocation(this.posX + lengthX/lengthFlight * 30, this.posY + baseHeight + 40, this.posZ + lengthZ/lengthFlight * 30); + loc3 = new EasyLocation(this.posX + lengthX/lengthFlight * 50, this.posY + baseHeight + 50, this.posZ + lengthZ/lengthFlight * 50); + + loc4 = new EasyLocation(x - (lengthX/lengthFlight * 50), this.posY + baseHeight + 50, z - (lengthZ/lengthFlight * 50)); + loc5 = new EasyLocation(x - (lengthX/lengthFlight * 30), this.posY + baseHeight + 40, z - (lengthZ/lengthFlight * 30)); + loc6 = new EasyLocation(x - (lengthX/lengthFlight * 10), this.posY + baseHeight + 20, z - (lengthZ/lengthFlight * 10)); + loc7 = new EasyLocation(x, this.posY + baseHeight, z); + + + target = new EasyLocation(x, 0, z); + } + + protected void freePizzaGoddammit(EasyLocation loc) { + double x = loc.posX - this.posX; + double y = loc.posY - this.posY; + double z = loc.posZ - this.posZ; + lengthFlight = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2)); + + this.motionX = x / this.lengthFlight * missileSpeed; + this.motionY = y / this.lengthFlight * missileSpeed; + this.motionZ = z / this.lengthFlight * missileSpeed; + } + + protected void rotation() { + float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + } + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5.0F, true); + } + this.setDead(); + } + } + + @Override + protected void onImpact(MovingObjectPosition p_70184_1_) { + + } + + @SideOnly(Side.CLIENT) + public boolean isInRangeToRenderDist(double distance) + { + return distance < 25000; + } + +} diff --git a/com/hbm/entity/EntityMissileBunkerBuster.java b/com/hbm/entity/EntityMissileBunkerBuster.java new file mode 100644 index 000000000..f0a2775d4 --- /dev/null +++ b/com/hbm/entity/EntityMissileBunkerBuster.java @@ -0,0 +1,151 @@ +package com.hbm.entity; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileBunkerBuster extends EntityMissileBase { + + public EntityMissileBunkerBuster(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileBunkerBuster(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + for(int i = 0; i < 15; i++) + { + this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 5F, true); + } + } + this.setDead(); + } + } + +} diff --git a/com/hbm/entity/EntityMissileBurst.java b/com/hbm/entity/EntityMissileBurst.java new file mode 100644 index 000000000..394af9f54 --- /dev/null +++ b/com/hbm/entity/EntityMissileBurst.java @@ -0,0 +1,149 @@ +package com.hbm.entity; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileBurst extends EntityMissileBase { + + public EntityMissileBurst(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileBurst(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + this.baseHeight = 100; + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + for(int i = 0; i < 5; i++) + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 50.0F, true); + } + this.setDead(); + } + } +} diff --git a/com/hbm/entity/EntityMissileBusterStrong.java b/com/hbm/entity/EntityMissileBusterStrong.java new file mode 100644 index 000000000..bfe8d780e --- /dev/null +++ b/com/hbm/entity/EntityMissileBusterStrong.java @@ -0,0 +1,151 @@ +package com.hbm.entity; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileBusterStrong extends EntityMissileBase { + + public EntityMissileBusterStrong(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileBusterStrong(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + this.baseHeight = 75; + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + for(int i = 0; i < 20; i++) + { + this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 7.5F, true); + } + } + this.setDead(); + } + } +} diff --git a/com/hbm/entity/EntityMissileCluster.java b/com/hbm/entity/EntityMissileCluster.java new file mode 100644 index 000000000..a31cc8064 --- /dev/null +++ b/com/hbm/entity/EntityMissileCluster.java @@ -0,0 +1,146 @@ +package com.hbm.entity; + +import com.hbm.explosion.ExplosionChaos; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileCluster extends EntityMissileBase { + + public EntityMissileCluster(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileCluster(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); + ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100); + this.setDead(); + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); + ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 25, 100); + } + this.setDead(); + } + } +} diff --git a/com/hbm/entity/EntityMissileClusterStrong.java b/com/hbm/entity/EntityMissileClusterStrong.java new file mode 100644 index 000000000..ad9d73861 --- /dev/null +++ b/com/hbm/entity/EntityMissileClusterStrong.java @@ -0,0 +1,147 @@ +package com.hbm.entity; + +import com.hbm.explosion.ExplosionChaos; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileClusterStrong extends EntityMissileBase { + + public EntityMissileClusterStrong(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileClusterStrong(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + this.baseHeight = 75; + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); + ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100); + this.setDead(); + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15F, true); + ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 50, 100); + } + this.setDead(); + } + } +} diff --git a/com/hbm/entity/EntityMissileDrill.java b/com/hbm/entity/EntityMissileDrill.java new file mode 100644 index 000000000..c3c3e4a35 --- /dev/null +++ b/com/hbm/entity/EntityMissileDrill.java @@ -0,0 +1,151 @@ +package com.hbm.entity; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileDrill extends EntityMissileBase { + + public EntityMissileDrill(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileDrill(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + this.baseHeight = 100; + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + for(int i = 0; i < 30; i++) + { + this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 10F, true); + } + } + this.setDead(); + } + } +} diff --git a/com/hbm/entity/EntityMissileEndo.java b/com/hbm/entity/EntityMissileEndo.java new file mode 100644 index 000000000..7eac457d5 --- /dev/null +++ b/com/hbm/entity/EntityMissileEndo.java @@ -0,0 +1,152 @@ +package com.hbm.entity; + +import com.hbm.explosion.ExplosionThermo; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileEndo extends EntityMissileBase { + + public EntityMissileEndo(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileEndo(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + this.baseHeight = 100; + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); + ExplosionThermo.freeze(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30); + ExplosionThermo.freezer(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40); + } + this.setDead(); + } + } +} diff --git a/com/hbm/entity/EntityMissileExo.java b/com/hbm/entity/EntityMissileExo.java new file mode 100644 index 000000000..b78e9a8e1 --- /dev/null +++ b/com/hbm/entity/EntityMissileExo.java @@ -0,0 +1,152 @@ +package com.hbm.entity; + +import com.hbm.explosion.ExplosionThermo; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileExo extends EntityMissileBase { + + public EntityMissileExo(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileExo(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + this.baseHeight = 100; + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); + ExplosionThermo.scorch(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30); + ExplosionThermo.setEntitiesOnFire(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40); + } + this.setDead(); + } + } +} diff --git a/com/hbm/entity/EntityMissileGeneric.java b/com/hbm/entity/EntityMissileGeneric.java new file mode 100644 index 000000000..564da65df --- /dev/null +++ b/com/hbm/entity/EntityMissileGeneric.java @@ -0,0 +1,148 @@ +package com.hbm.entity; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileGeneric extends EntityMissileBase { + + public EntityMissileGeneric(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileGeneric(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); + } + this.setDead(); + } + } + +} diff --git a/com/hbm/entity/EntityMissileIncendiary.java b/com/hbm/entity/EntityMissileIncendiary.java new file mode 100644 index 000000000..ec7e65611 --- /dev/null +++ b/com/hbm/entity/EntityMissileIncendiary.java @@ -0,0 +1,149 @@ +package com.hbm.entity; + +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileIncendiary extends EntityMissileBase { + + public EntityMissileIncendiary(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileIncendiary(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.newExplosion((Entity)null, (double)((float)this.posX + 0.5F), (double)((float)this.posY + 0.5F), (double)((float)this.posZ + 0.5F), 10.0F, true, true); + } + this.setDead(); + } + } + +} diff --git a/com/hbm/entity/EntityMissileIncendiaryStrong.java b/com/hbm/entity/EntityMissileIncendiaryStrong.java new file mode 100644 index 000000000..2aac8cc14 --- /dev/null +++ b/com/hbm/entity/EntityMissileIncendiaryStrong.java @@ -0,0 +1,152 @@ +package com.hbm.entity; + +import com.hbm.explosion.ExplosionChaos; + +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileIncendiaryStrong extends EntityMissileBase { + + public EntityMissileIncendiaryStrong(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileIncendiaryStrong(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + this.baseHeight = 75; + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.newExplosion((Entity)null, (double)((float)this.posX + 0.5F), (double)((float)this.posY + 0.5F), (double)((float)this.posZ + 0.5F), 25.0F, true, true); + ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25); + } + this.setDead(); + } + } +} diff --git a/com/hbm/entity/EntityMissileInferno.java b/com/hbm/entity/EntityMissileInferno.java new file mode 100644 index 000000000..2bbf7d436 --- /dev/null +++ b/com/hbm/entity/EntityMissileInferno.java @@ -0,0 +1,153 @@ +package com.hbm.entity; + +import com.hbm.explosion.ExplosionChaos; + +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileInferno extends EntityMissileBase { + + public EntityMissileInferno(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileInferno(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + this.baseHeight = 100; + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.newExplosion((Entity)null, (double)((float)this.posX + 0.5F), (double)((float)this.posY + 0.5F), (double)((float)this.posZ + 0.5F), 35.0F, true, true); + ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10); + ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 25); + } + this.setDead(); + } + } +} diff --git a/com/hbm/entity/EntityMissileMirv.java b/com/hbm/entity/EntityMissileMirv.java new file mode 100644 index 000000000..c164480f3 --- /dev/null +++ b/com/hbm/entity/EntityMissileMirv.java @@ -0,0 +1,150 @@ +package com.hbm.entity; + +import com.hbm.explosion.ExplosionChaos; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileMirv extends EntityMissileBase { + + public EntityMissileMirv(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileMirv(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + this.baseHeight = 150; + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15.0F, true); + ExplosionChaos.mirv(this.worldObj,this.posX, this.posY, this.posZ); + this.setDead(); + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15.0F, true); + ExplosionChaos.mirv(this.worldObj,this.posX, this.posY, this.posZ); + } + this.setDead(); + } + } +} diff --git a/com/hbm/entity/EntityMissileNuclear.java b/com/hbm/entity/EntityMissileNuclear.java new file mode 100644 index 000000000..13a7603dd --- /dev/null +++ b/com/hbm/entity/EntityMissileNuclear.java @@ -0,0 +1,163 @@ +package com.hbm.entity; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileNuclear extends EntityMissileBase { + + public EntityMissileNuclear(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileNuclear(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + this.baseHeight = 100; + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj); + entity.posX = this.posX; + entity.posY = this.posY; + entity.posZ = this.posZ; + entity.destructionRange = 100; + entity.speed = 25; + entity.coefficient = 10.0F; + + this.worldObj.spawnEntityInWorld(entity); + + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); + entity2.posX = this.posX; + entity2.posY = this.posY - 9; + entity2.posZ = this.posZ; + this.worldObj.spawnEntityInWorld(entity2); + } + this.setDead(); + } + } + +} diff --git a/com/hbm/entity/EntityMissileRain.java b/com/hbm/entity/EntityMissileRain.java new file mode 100644 index 000000000..fb2f42847 --- /dev/null +++ b/com/hbm/entity/EntityMissileRain.java @@ -0,0 +1,147 @@ +package com.hbm.entity; + +import com.hbm.explosion.ExplosionChaos; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileRain extends EntityMissileBase { + + public EntityMissileRain(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileRain(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + this.baseHeight = 100; + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); + ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100); + this.setDead(); + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 25F, true); + ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100); + } + this.setDead(); + } + } +} diff --git a/com/hbm/entity/EntityMissileStrong.java b/com/hbm/entity/EntityMissileStrong.java new file mode 100644 index 000000000..640e43ce5 --- /dev/null +++ b/com/hbm/entity/EntityMissileStrong.java @@ -0,0 +1,149 @@ +package com.hbm.entity; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityMissileStrong extends EntityMissileBase { + + public EntityMissileStrong(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityMissileStrong(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_, x, z, a, b, c); + this.baseHeight = 75; + } + + @Override + public void onUpdate() + { + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 25.0F, true); + } + this.setDead(); + } + } + +} diff --git a/com/hbm/entity/EntityNuclearCreeper.java b/com/hbm/entity/EntityNuclearCreeper.java new file mode 100644 index 000000000..e384639f6 --- /dev/null +++ b/com/hbm/entity/EntityNuclearCreeper.java @@ -0,0 +1,439 @@ +package com.hbm.entity; + +import java.util.HashSet; +import java.util.List; + +import com.hbm.items.ModItems; +import com.hbm.lib.Library; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.EntityAIAttackOnCollide; +import net.minecraft.entity.ai.EntityAIAvoidEntity; +import net.minecraft.entity.ai.EntityAICreeperSwell; +import net.minecraft.entity.ai.EntityAIHurtByTarget; +import net.minecraft.entity.ai.EntityAILookIdle; +import net.minecraft.entity.ai.EntityAINearestAttackableTarget; +import net.minecraft.entity.ai.EntityAISwimming; +import net.minecraft.entity.ai.EntityAIWander; +import net.minecraft.entity.ai.EntityAIWatchClosest; +import net.minecraft.entity.effect.EntityLightningBolt; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.monster.EntitySkeleton; +import net.minecraft.entity.passive.EntityOcelot; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityNuclearCreeper extends EntityMob { + /** + * Time when this creeper was last in an active state (Messed up code here, probably causes creeper animation to go + * weird) + */ + private int lastActiveTime; + /** The amount of time since the creeper was close enough to the player to ignite */ + private int timeSinceIgnited; + private int fuseTime = 75; + /** Explosion radius for this creeper. */ + private int explosionRadius = 20; + private static final String __OBFID = "CL_00001684"; + + public EntityNuclearCreeper(World p_i1733_1_) + { + super(p_i1733_1_); + this.tasks.addTask(1, new EntityAISwimming(this)); + this.tasks.addTask(2, new EntityAINuclearCreeperSwell(this)); + this.tasks.addTask(3, new EntityAIAttackOnCollide(this, 1.0D, false)); + this.tasks.addTask(4, new EntityAIWander(this, 0.8D)); + this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(6, new EntityAILookIdle(this)); + this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); + this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false)); + this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityOcelot.class, 0, true)); + } + + protected void applyEntityAttributes() + { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.15D); + } + + /** + * Returns true if the newer Entity AI code should be run + */ + public boolean isAIEnabled() + { + return true; + } + + /** + * The number of iterations PathFinder.getSafePoint will execute before giving up. + */ + public int getMaxSafePointTries() + { + return this.getAttackTarget() == null ? 3 : 3 + (int)(this.getHealth() - 1.0F); + } + + /** + * Called when the mob is falling. Calculates and applies fall damage. + */ + protected void fall(float p_70069_1_) + { + super.fall(p_70069_1_); + this.timeSinceIgnited = (int)((float)this.timeSinceIgnited + p_70069_1_ * 1.5F); + + if (this.timeSinceIgnited > this.fuseTime - 5) + { + this.timeSinceIgnited = this.fuseTime - 5; + } + } + + protected void entityInit() + { + super.entityInit(); + this.dataWatcher.addObject(16, Byte.valueOf((byte) - 1)); + this.dataWatcher.addObject(17, Byte.valueOf((byte)0)); + this.dataWatcher.addObject(18, Byte.valueOf((byte)0)); + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound p_70014_1_) + { + super.writeEntityToNBT(p_70014_1_); + + if (this.dataWatcher.getWatchableObjectByte(17) == 1) + { + p_70014_1_.setBoolean("powered", true); + } + + p_70014_1_.setShort("Fuse", (short)this.fuseTime); + p_70014_1_.setByte("ExplosionRadius", (byte)this.explosionRadius); + p_70014_1_.setBoolean("ignited", this.func_146078_ca()); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound p_70037_1_) + { + super.readEntityFromNBT(p_70037_1_); + this.dataWatcher.updateObject(17, Byte.valueOf((byte)(p_70037_1_.getBoolean("powered") ? 1 : 0))); + + if (p_70037_1_.hasKey("Fuse", 99)) + { + this.fuseTime = p_70037_1_.getShort("Fuse"); + } + + if (p_70037_1_.hasKey("ExplosionRadius", 99)) + { + this.explosionRadius = p_70037_1_.getByte("ExplosionRadius"); + } + + if (p_70037_1_.getBoolean("ignited")) + { + this.func_146079_cb(); + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() + { + if (this.isEntityAlive()) + { + this.lastActiveTime = this.timeSinceIgnited; + + if (this.func_146078_ca()) + { + this.setCreeperState(1); + } + + int i = this.getCreeperState(); + + if (i > 0 && this.timeSinceIgnited == 0) + { + this.playSound("creeper.primed", 1.0F * 30 / 75, 0.5F); + } + + this.timeSinceIgnited += i; + + if (this.timeSinceIgnited < 0) + { + this.timeSinceIgnited = 0; + } + + if (this.timeSinceIgnited >= this.fuseTime) + { + this.timeSinceIgnited = this.fuseTime; + this.func_146077_cc(); + } + } + int strength = 1; + float f = strength; + HashSet hashset = new HashSet(); + int i; + int j; + int k; + double d5; + double d6; + double d7; + double wat = f*2; + boolean isOccupied = false; + + + strength *= 2.0F; + i = MathHelper.floor_double(this.posX - wat - 1.0D); + j = MathHelper.floor_double(this.posX + wat + 1.0D); + k = MathHelper.floor_double(this.posY - wat - 1.0D); + int i2 = MathHelper.floor_double(this.posY + wat + 1.0D); + int l = MathHelper.floor_double(this.posZ - wat - 1.0D); + int j2 = MathHelper.floor_double(this.posZ + wat + 1.0D); + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox((double)i, (double)k, (double)l, (double)j, (double)i2, (double)j2)); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + + for (int i1 = 0; i1 < list.size(); ++i1) + { + Entity entity = (Entity)list.get(i1); + double d4 = entity.getDistance(this.posX, this.posY, this.posZ) / (double)4; + + if (d4 <= 1.0D) + { + d5 = entity.posX - this.posX; + d6 = entity.posY + (double)entity.getEyeHeight() - this.posY; + d7 = entity.posZ - this.posZ; + double d9 = (double)MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); + if (d9 < wat) + { + if(entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer)entity)) + { + Library.damageSuit(((EntityPlayer)entity), 0); + Library.damageSuit(((EntityPlayer)entity), 1); + Library.damageSuit(((EntityPlayer)entity), 2); + Library.damageSuit(((EntityPlayer)entity), 3); + + } else if(entity instanceof EntityCreeper) { + EntityNuclearCreeper creep = new EntityNuclearCreeper(this.worldObj); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + creep.setRotationYawHead(((EntityCreeper)entity).rotationYawHead); + if(!entity.isDead) + if(!worldObj.isRemote) + worldObj.spawnEntityInWorld(creep); + entity.setDead(); + } else if(entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper)) + { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.getId(), 5 * 20, 1)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 15 * 20, 0)); + } + } + } + } + + strength = (int)f; + + super.onUpdate(); + } + + /** + * Returns the sound this mob makes when it is hurt. + */ + protected String getHurtSound() + { + return "mob.creeper.say"; + } + + /** + * Returns the sound this mob makes on death. + */ + protected String getDeathSound() + { + return "mob.creeper.death"; + } + + /** + * Called when the mob's health reaches 0. + */ + public void onDeath(DamageSource p_70645_1_) + { + super.onDeath(p_70645_1_); + + if (p_70645_1_.getEntity() instanceof EntitySkeleton || (p_70645_1_.isProjectile() && p_70645_1_.getEntity() instanceof EntityArrow && ((EntityArrow)(p_70645_1_.getEntity())).shootingEntity == null)) + { + int i = rand.nextInt(10); + int j = rand.nextInt(3); + if(i == 0) + this.dropItem(ModItems.nugget_u235, j); + if(i == 1) + this.dropItem(ModItems.nugget_pu238, j); + if(i == 2) + this.dropItem(ModItems.nugget_pu239, j); + if(i == 3) + this.dropItem(ModItems.nugget_neptunium, j); + if(i == 4) + this.dropItem(ModItems.man_core, 1); + if(i == 5) + { + this.dropItem(ModItems.sulfur, j * 2); + this.dropItem(ModItems.niter, j * 2); + } + if(i == 6) + this.dropItem(ModItems.syringe_awesome, 1); + if(i == 7) + this.dropItem(ModItems.fusion_core, 1); + if(i == 8) + this.dropItem(ModItems.syringe_metal_stimpak, 1); + if(i == 9) + { + switch(rand.nextInt(4)) + { + case 0: this.dropItem(ModItems.t45_helmet, 1); break; + case 1: this.dropItem(ModItems.t45_plate, 1); break; + case 2: this.dropItem(ModItems.t45_legs, 1); break; + case 3: this.dropItem(ModItems.t45_boots, 1); break; + } + this.dropItem(ModItems.fusion_core, 1); + } + } + } + + public boolean attackEntityAsMob(Entity p_70652_1_) + { + return true; + } + + /** + * Returns true if the creeper is powered by a lightning bolt. + */ + public boolean getPowered() + { + return this.dataWatcher.getWatchableObjectByte(17) == 1; + } + + /** + * Params: (Float)Render tick. Returns the intensity of the creeper's flash when it is ignited. + */ + @SideOnly(Side.CLIENT) + public float getCreeperFlashIntensity(float p_70831_1_) + { + return ((float)this.lastActiveTime + (float)(this.timeSinceIgnited - this.lastActiveTime) * p_70831_1_) / (float)(this.fuseTime - 2); + } + + protected Item getDropItem() + { + return Item.getItemFromBlock(Blocks.tnt); + } + + /** + * Returns the current state of creeper, -1 is idle, 1 is 'in fuse' + */ + public int getCreeperState() + { + return this.dataWatcher.getWatchableObjectByte(16); + } + + /** + * Sets the state of creeper, -1 to idle and 1 to be 'in fuse' + */ + public void setCreeperState(int p_70829_1_) + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)p_70829_1_)); + } + + /** + * Called when a lightning bolt hits the entity. + */ + public void onStruckByLightning(EntityLightningBolt p_70077_1_) + { + super.onStruckByLightning(p_70077_1_); + this.dataWatcher.updateObject(17, Byte.valueOf((byte)1)); + } + + /** + * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. + */ + protected boolean interact(EntityPlayer p_70085_1_) + { + ItemStack itemstack = p_70085_1_.inventory.getCurrentItem(); + + if (itemstack != null && itemstack.getItem() == Items.flint_and_steel) + { + this.worldObj.playSoundEffect(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D, "fire.ignite", 1.0F, this.rand.nextFloat() * 0.4F + 0.8F); + p_70085_1_.swingItem(); + + if (!this.worldObj.isRemote) + { + this.func_146079_cb(); + itemstack.damageItem(1, p_70085_1_); + return true; + } + } + + return super.interact(p_70085_1_); + } + + private void func_146077_cc() + { + if (!this.worldObj.isRemote) + { + boolean flag = this.worldObj.getGameRules().getGameRuleBooleanValue("mobGriefing"); + + if (this.getPowered()) + { + //this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(this.explosionRadius * 2), flag); + this.explosionRadius *= 3; + } + + EntityNukeExplosionAdvanced explosion = new EntityNukeExplosionAdvanced(this.worldObj); + explosion.speed = 25; + explosion.coefficient = 5.0F; + explosion.destructionRange = this.explosionRadius; + explosion.posX = this.posX; + explosion.posY = this.posY; + explosion.posZ = this.posZ; + this.worldObj.spawnEntityInWorld(explosion); + + if(this.getPowered()) + { + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); + entity2.posX = this.posX; + entity2.posY = this.posY - 11; + entity2.posZ = this.posZ; + this.worldObj.spawnEntityInWorld(entity2); + } + + this.setDead(); + } + } + + public boolean func_146078_ca() + { + return this.dataWatcher.getWatchableObjectByte(18) != 0; + } + + public void func_146079_cb() + { + this.dataWatcher.updateObject(18, Byte.valueOf((byte)1)); + } + + public void setPowered(int power) { + this.dataWatcher.updateObject(17, power); + } +} diff --git a/com/hbm/entity/EntityNukeCloudSmall.java b/com/hbm/entity/EntityNukeCloudSmall.java new file mode 100644 index 000000000..c8a59536e --- /dev/null +++ b/com/hbm/entity/EntityNukeCloudSmall.java @@ -0,0 +1,68 @@ +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 EntityNukeCloudSmall extends Entity { + + public int maxAge = 1000; + public int age; + + public EntityNukeCloudSmall(World p_i1582_1_) { + super(p_i1582_1_); + this.setSize(1, 80); + this.ignoreFrustumCheck = true; + this.isImmuneToFire = true; + this.age = 0; + } + + @SideOnly(Side.CLIENT) + public int getBrightnessForRender(float p_70070_1_) + { + return 15728880; + } + + public float getBrightness(float p_70013_1_) + { + return 1.0F; + } + + public EntityNukeCloudSmall(World p_i1582_1_, int maxAge) { + super(p_i1582_1_); + this.setSize(20, 40); + this.isImmuneToFire = true; + this.maxAge = maxAge; + } + + public void onUpdate() { + //super.onUpdate(); + this.age++; + this.worldObj.spawnEntityInWorld(new EntityLightningBolt(this.worldObj, this.posX, this.posY + 200, this.posZ)); + + if(this.age >= this.maxAge) + { + this.age = 0; + this.setDead(); + } + } + + @Override + protected void entityInit() { + + } + + @Override + protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { + + } + + @Override + protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { + + } + +} diff --git a/com/hbm/entity/EntityNukeExplosion.java b/com/hbm/entity/EntityNukeExplosion.java new file mode 100644 index 000000000..c815a8248 --- /dev/null +++ b/com/hbm/entity/EntityNukeExplosion.java @@ -0,0 +1,116 @@ +/*package com.hbm.entity; + +import com.hbm.explosion.ExplosionNukeGeneric; + +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class EntityNukeExplosion extends Entity { + + public int age = 0; + public int action = 0; + public int rangeOfDestruction = 100; + + public EntityNukeExplosion(World p_i1582_1_) { + super(p_i1582_1_); + } + + public void onUpdate() { + super.onUpdate(); + + if(this.action > this.rangeOfDestruction) + { + this.setDead(); + } + if(this.age % 10 == 0) + { + this.action++; + ExplosionNukeGeneric.detonateTestBomb(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, this.action); + } + + this.age++; + } + + @Override + protected void entityInit() { + + } + + @Override + protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { + + } + + @Override + protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { + + } + +}*/ + +package com.hbm.entity; + +import com.hbm.explosion.ExplosionNukeGeneric; + +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class EntityNukeExplosion extends Entity { + + public int age = 0; + public double action = 0; + public int counter = 0; + public int destructionRange = 0; + public int vaporRange = 0; + public int wasteRange = 0; + public int damageRange = 0; + final int steps = 35; + + public EntityNukeExplosion(World p_i1582_1_) { + super(p_i1582_1_); + } + + public void onUpdate() { + super.onUpdate(); + + if(this.counter >= steps) + { + this.action = this.wasteRange / 20 * this.counter; + ExplosionNukeGeneric.waste(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, (int)this.action); + + this.setDead(); + } + + { + this.counter++; + this.action = this.destructionRange / steps * this.counter; + ExplosionNukeGeneric.detonateTestBomb(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, (int)this.action); + + this.action = this.vaporRange / steps * this.counter; + ExplosionNukeGeneric.vapor(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, (int)this.action); + + this.action = this.damageRange / steps * this.counter; + ExplosionNukeGeneric.dealDamage(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, (int)this.action); + + } + + this.age++; + } + + protected void entityInit() { + + } + + @Override + protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { + + } + + @Override + protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { + + } + +} \ No newline at end of file diff --git a/com/hbm/entity/EntityNukeExplosionAdvanced.java b/com/hbm/entity/EntityNukeExplosionAdvanced.java new file mode 100644 index 000000000..857eca0a1 --- /dev/null +++ b/com/hbm/entity/EntityNukeExplosionAdvanced.java @@ -0,0 +1,140 @@ +package com.hbm.entity; + +import java.util.HashSet; +import java.util.List; + +import net.minecraft.enchantment.EnchantmentProtection; +import net.minecraft.entity.Entity; +import net.minecraft.entity.passive.EntityOcelot; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +import com.hbm.explosion.ExplosionFleija; +import com.hbm.explosion.ExplosionNukeAdvanced; +import com.hbm.explosion.ExplosionNukeGeneric; + +public class EntityNukeExplosionAdvanced extends Entity { + + public int age = 0; + public int destructionRange = 0; + public ExplosionNukeAdvanced exp; + public ExplosionNukeAdvanced wst; + public ExplosionNukeAdvanced vap; + public ExplosionFleija expl; + public int speed = 1; + public float coefficient = 1; + public boolean did = false; + public boolean waste = true; + + public EntityNukeExplosionAdvanced(World p_i1582_1_) { + super(p_i1582_1_); + } + + public void onUpdate() { + super.onUpdate(); + + if(!this.did) + { + if(this.waste) + { + exp = new ExplosionNukeAdvanced((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange, this.coefficient, 0); + wst = new ExplosionNukeAdvanced((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, (int)(this.destructionRange * 1.4), this.coefficient, 2); + vap = new ExplosionNukeAdvanced((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange * 2, this.coefficient, 1); + } else { + expl = new ExplosionFleija((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange, this.coefficient); + } + + this.did = true; + } + + boolean flag = false; + boolean flag2 = false; + boolean flag3 = false; + + for(int i = 0; i < this.speed; i++) + { + if(waste) { + flag = exp.update(); + flag2 = wst.update(); + flag3 = vap.update(); + + if(flag3) { + this.setDead(); + } + } else { + if(expl.update()) { + this.setDead(); + } + } + } + + if(!flag) + { + 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 { + } + + age++; + } + + protected void entityInit() { + + } + + @Override + protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { + + } + + @Override + protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { + + } + + private void removeEntities(World world, int x, int y, int z) { + float f = 10; + HashSet hashset = new HashSet(); + int i; + int j; + int k; + double d5; + double d6; + double d7; + boolean isOccupied = false; + + i = MathHelper.floor_double(x - f - 1.0D); + j = MathHelper.floor_double(x + f + 1.0D); + k = MathHelper.floor_double(y - f - 1.0D); + int i2 = MathHelper.floor_double(y + f + 1.0D); + int l = MathHelper.floor_double(z - f - 1.0D); + int j2 = MathHelper.floor_double(z + f + 1.0D); + List list = world.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox((double)i, (double)k, (double)l, (double)j, (double)i2, (double)j2)); + Vec3 vec3 = Vec3.createVectorHelper(x, y, z); + + for (int i1 = 0; i1 < list.size(); ++i1) + { + Entity entity = (Entity)list.get(i1); + double d4 = entity.getDistance(x, y, z) / (double)f; + + if (d4 <= 1.0D) + { + d5 = entity.posX - x; + d6 = entity.posY + (double)entity.getEyeHeight() - y; + d7 = entity.posZ - z; + double d9 = (double)MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); + if (d9 < f && (entity instanceof EntityNukeCloudSmall)) + { + { + entity.setDead(); + } + } + } + } + } + +} \ No newline at end of file diff --git a/com/hbm/entity/EntityRocket.java b/com/hbm/entity/EntityRocket.java new file mode 100644 index 000000000..855debe71 --- /dev/null +++ b/com/hbm/entity/EntityRocket.java @@ -0,0 +1,627 @@ +package com.hbm.entity; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; + +import com.hbm.items.ModItems; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.play.server.S2BPacketChangeGameState; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityRocket extends Entity implements IProjectile +{ + private int field_145791_d = -1; + private int field_145792_e = -1; + private int field_145789_f = -1; + public double gravity = 0.0D; + private Block field_145790_g; + private int inData; + private boolean inGround; + /** 1 if the player can pick up the arrow */ + public int canBePickedUp; + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake; + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir; + private double damage = 2.0D; + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + private static final String __OBFID = "CL_00001715"; + + + public EntityRocket(World p_i1753_1_) + { + super(p_i1753_1_); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityRocket(World p_i1754_1_, double p_i1754_2_, double p_i1754_4_, double p_i1754_6_) + { + super(p_i1754_1_); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(p_i1754_2_, p_i1754_4_, p_i1754_6_); + this.yOffset = 0.0F; + } + + public EntityRocket(World p_i1755_1_, EntityLivingBase p_i1755_2_, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_) + { + super(p_i1755_1_); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = p_i1755_2_; + + if (p_i1755_2_ instanceof EntityPlayer) + { + this.canBePickedUp = 1; + } + + this.posY = p_i1755_2_.posY + (double)p_i1755_2_.getEyeHeight() - 0.10000000149011612D; + double d0 = p_i1755_3_.posX - p_i1755_2_.posX; + double d1 = p_i1755_3_.boundingBox.minY + (double)(p_i1755_3_.height / 3.0F) - this.posY; + double d2 = p_i1755_3_.posZ - p_i1755_2_.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) + { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(p_i1755_2_.posX + d4, this.posY, p_i1755_2_.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, p_i1755_4_, p_i1755_5_); + } + } + + public EntityRocket(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_) + { + super(p_i1756_1_); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = p_i1756_2_; + + if (p_i1756_2_ instanceof EntityPlayer) + { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(p_i1756_2_.posX, p_i1756_2_.posY + (double)p_i1756_2_.getEyeHeight(), p_i1756_2_.posZ, p_i1756_2_.rotationYaw, p_i1756_2_.rotationPitch); + this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double)(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 = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionY = (double)(-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 EntityRocket(World world, int x, int y, int z, double mx, double my, double mz, double grav) { + super(world); + this.posX = x + 0.5F; + this.posY = y + 0.5F; + this.posZ = z + 0.5F; + + this.motionX = mx; + this.motionY = my; + this.motionZ = mz; + + this.gravity = grav; + } + + protected void entityInit() + { + this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, float p_70186_8_) + { + float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_); + p_70186_1_ /= (double)f2; + p_70186_3_ /= (double)f2; + p_70186_5_ /= (double)f2; + p_70186_1_ += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_; + p_70186_3_ += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_; + p_70186_5_ += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_; + p_70186_1_ *= (double)p_70186_7_; + p_70186_3_ *= (double)p_70186_7_; + p_70186_5_ *= (double)p_70186_7_; + this.motionX = p_70186_1_; + this.motionY = p_70186_3_; + this.motionZ = p_70186_5_; + float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70186_3_, (double)f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_, float p_70056_8_, int p_70056_9_) + { + this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_); + this.setRotation(p_70056_7_, p_70056_8_); + } + + /** + * Sets the velocity to the args. Args: x, y, z + */ + @SideOnly(Side.CLIENT) + public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) + { + this.motionX = p_70016_1_; + this.motionY = p_70016_3_; + this.motionZ = p_70016_5_; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) + { + float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70016_3_, (double)f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + //@Override + public void onUpdate() + { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) + { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + //this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + } + + Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); + + if (block.getMaterial() != Material.air) + { + block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); + AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) + { + this.inGround = true; + } + } + + if (this.arrowShake > 0) + { + --this.arrowShake; + } + + if (this.inGround) + { + /*int j = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f); + + if (block == this.field_145790_g && j == this.inData) + { + ++this.ticksInGround; + + if (this.ticksInGround == 1200) + { + this.setDead(); + } + } + else + { + this.inGround = false; + this.motionX *= (double)(this.rand.nextFloat() * 0.2F); + this.motionY *= (double)(this.rand.nextFloat() * 0.2F); + this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + }*/ + + + if (!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.5F, true); + } + this.setDead(); + } + else + { + ++this.ticksInAir; + Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) + { + vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int i; + float f1; + + for (i = 0; i < list.size(); ++i) + { + Entity entity1 = (Entity)list.get(i); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) + { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3); + + if (movingobjectposition1 != null) + { + double d1 = vec31.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) + { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) + { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) + { + EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) + { + movingobjectposition = null; + } + } + + float f2; + float f4; + + if (movingobjectposition != null) + { + if (movingobjectposition.entityHit != null) + { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int k = MathHelper.ceiling_double_int((double)f2 * this.damage); + + if (this.getIsCritical()) + { + k += this.rand.nextInt(k / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) + { + damagesource = DamageSource.causeIndirectMagicDamage(this, this); + } + else + { + damagesource = DamageSource.causeIndirectMagicDamage(this, this); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) + { + movingobjectposition.entityHit.setFire(5); + } + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, (float)k)) + { + if (movingobjectposition.entityHit instanceof EntityLivingBase) + { + EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) + { + entitylivingbase.setArrowCountInEntity(entitylivingbase.getArrowCountInEntity() + 1); + } + + if (this.knockbackStrength > 0) + { + f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f4 > 0.0F) + { + movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f4, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f4); + } + } + + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) + { + EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) + { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); + } + } + + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) + { + if (!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.5F, true); + } + this.setDead(); + } + } + else + { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } + else + { + this.field_145791_d = movingobjectposition.blockX; + this.field_145792_e = movingobjectposition.blockY; + this.field_145789_f = movingobjectposition.blockZ; + this.field_145790_g = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); + this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f); + this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if (this.field_145790_g.getMaterial() != Material.air) + { + this.field_145790_g.onEntityCollidedWithBlock(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f, this); + } + } + } + + if (true) + { + for (i = 0; i < 4; ++i) + { + this.worldObj.spawnParticle("smoke", this.posX, this.posY, this.posZ, /*0, 0, 0 this.posX + this.motionX * (double)i / 4.0D, this.posY + this.motionY * (double)i / 4.0D, this.posZ + this.motionZ * (double)i / 4.0D,*/ -this.motionX/4, -this.motionY/4, -this.motionZ/4); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + //for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + /*while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + }*/ + + //this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + //this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f3 = 0.99F; + f1 = 0.05F; + + if (this.isInWater()) + { + for (int l = 0; l < 4; ++l) + { + f4 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f4, this.posY - this.motionY * (double)f4, this.posZ - this.motionZ * (double)f4, this.motionX, this.motionY, this.motionZ); + } + + f3 = 0.8F; + } + + if (this.isWet()) + { + this.extinguish(); + } + + this.motionX *= (double)f3; + this.motionY *= (double)f3; + this.motionZ *= (double)f3; + this.motionY -= (double)gravity; + this.setPosition(this.posX, this.posY, this.posZ); + this.func_145775_I(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound p_70014_1_) + { + p_70014_1_.setShort("xTile", (short)this.field_145791_d); + p_70014_1_.setShort("yTile", (short)this.field_145792_e); + p_70014_1_.setShort("zTile", (short)this.field_145789_f); + p_70014_1_.setShort("life", (short)this.ticksInGround); + p_70014_1_.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g)); + p_70014_1_.setByte("inData", (byte)this.inData); + p_70014_1_.setByte("shake", (byte)this.arrowShake); + p_70014_1_.setByte("inGround", (byte)(this.inGround ? 1 : 0)); + p_70014_1_.setByte("pickup", (byte)this.canBePickedUp); + p_70014_1_.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound p_70037_1_) + { + this.field_145791_d = p_70037_1_.getShort("xTile"); + this.field_145792_e = p_70037_1_.getShort("yTile"); + this.field_145789_f = p_70037_1_.getShort("zTile"); + this.ticksInGround = p_70037_1_.getShort("life"); + this.field_145790_g = Block.getBlockById(p_70037_1_.getByte("inTile") & 255); + this.inData = p_70037_1_.getByte("inData") & 255; + this.arrowShake = p_70037_1_.getByte("shake") & 255; + this.inGround = p_70037_1_.getByte("inGround") == 1; + + if (p_70037_1_.hasKey("damage", 99)) + { + this.damage = p_70037_1_.getDouble("damage"); + } + + if (p_70037_1_.hasKey("pickup", 99)) + { + this.canBePickedUp = p_70037_1_.getByte("pickup"); + } + else if (p_70037_1_.hasKey("player", 99)) + { + this.canBePickedUp = p_70037_1_.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer p_70100_1_) + { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) + { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && p_70100_1_.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !p_70100_1_.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_rpg_ammo, 1))) + { + flag = false; + } + + if (flag) + { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + p_70100_1_.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to + * prevent them from trampling crops + */ + protected boolean canTriggerWalking() + { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() + { + return 0.0F; + } + + public void setDamage(double p_70239_1_) + { + this.damage = p_70239_1_; + } + + public double getDamage() + { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int p_70240_1_) + { + this.knockbackStrength = p_70240_1_; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() + { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean p_70243_1_) + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (p_70243_1_) + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } + else + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } +} \ No newline at end of file diff --git a/com/hbm/entity/EntitySchrab.java b/com/hbm/entity/EntitySchrab.java new file mode 100644 index 000000000..7ea64bd0f --- /dev/null +++ b/com/hbm/entity/EntitySchrab.java @@ -0,0 +1,634 @@ +package com.hbm.entity; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.effect.EntityLightningBolt; +import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.play.server.S2BPacketChangeGameState; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +import com.hbm.explosion.ExplosionChaos; +import com.hbm.explosion.ExplosionNukeGeneric; +import com.hbm.items.ModItems; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntitySchrab extends Entity implements IProjectile +{ + private int field_145791_d = -1; + private int field_145792_e = -1; + private int field_145789_f = -1; + public double gravity = 0.0D; + private Block field_145790_g; + private int inData; + private boolean inGround; + /** 1 if the player can pick up the arrow */ + public int canBePickedUp; + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake; + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir; + private double damage = 2.0D; + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + private static final String __OBFID = "CL_00001715"; + + + public EntitySchrab(World p_i1753_1_) + { + super(p_i1753_1_); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntitySchrab(World p_i1754_1_, double p_i1754_2_, double p_i1754_4_, double p_i1754_6_) + { + super(p_i1754_1_); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(p_i1754_2_, p_i1754_4_, p_i1754_6_); + this.yOffset = 0.0F; + } + + public EntitySchrab(World p_i1755_1_, EntityLivingBase p_i1755_2_, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_) + { + super(p_i1755_1_); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = p_i1755_2_; + + if (p_i1755_2_ instanceof EntityPlayer) + { + this.canBePickedUp = 1; + } + + this.posY = p_i1755_2_.posY + (double)p_i1755_2_.getEyeHeight() - 0.10000000149011612D; + double d0 = p_i1755_3_.posX - p_i1755_2_.posX; + double d1 = p_i1755_3_.boundingBox.minY + (double)(p_i1755_3_.height / 3.0F) - this.posY; + double d2 = p_i1755_3_.posZ - p_i1755_2_.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) + { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(p_i1755_2_.posX + d4, this.posY, p_i1755_2_.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, p_i1755_4_, p_i1755_5_); + } + } + + public EntitySchrab(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_) + { + super(p_i1756_1_); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = p_i1756_2_; + + if (p_i1756_2_ instanceof EntityPlayer) + { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(p_i1756_2_.posX, p_i1756_2_.posY + (double)p_i1756_2_.getEyeHeight(), p_i1756_2_.posZ, p_i1756_2_.rotationYaw, p_i1756_2_.rotationPitch); + this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double)(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 = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionY = (double)(-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 EntitySchrab(World world, int x, int y, int z, double mx, double my, double mz, double grav) { + super(world); + this.posX = x + 0.5F; + this.posY = y + 0.5F; + this.posZ = z + 0.5F; + + this.motionX = mx; + this.motionY = my; + this.motionZ = mz; + + this.gravity = grav; + } + + protected void entityInit() + { + this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, float p_70186_8_) + { + float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_); + p_70186_1_ /= (double)f2; + p_70186_3_ /= (double)f2; + p_70186_5_ /= (double)f2; + p_70186_1_ += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_; + p_70186_3_ += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_; + p_70186_5_ += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_; + p_70186_1_ *= (double)p_70186_7_; + p_70186_3_ *= (double)p_70186_7_; + p_70186_5_ *= (double)p_70186_7_; + this.motionX = p_70186_1_; + this.motionY = p_70186_3_; + this.motionZ = p_70186_5_; + float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70186_3_, (double)f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_, float p_70056_8_, int p_70056_9_) + { + this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_); + this.setRotation(p_70056_7_, p_70056_8_); + } + + /** + * Sets the velocity to the args. Args: x, y, z + */ + @SideOnly(Side.CLIENT) + public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) + { + this.motionX = p_70016_1_; + this.motionY = p_70016_3_; + this.motionZ = p_70016_5_; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) + { + float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70016_3_, (double)f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + //@Override + public void onUpdate() + { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) + { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + //this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + } + + Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); + + if (block.getMaterial() != Material.air) + { + block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); + AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) + { + this.inGround = true; + } + } + + if (this.arrowShake > 0) + { + --this.arrowShake; + } + + if (this.inGround) + { + /*int j = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f); + + if (block == this.field_145790_g && j == this.inData) + { + ++this.ticksInGround; + + if (this.ticksInGround == 1200) + { + this.setDead(); + } + } + else + { + this.inGround = false; + this.motionX *= (double)(this.rand.nextFloat() * 0.2F); + this.motionY *= (double)(this.rand.nextFloat() * 0.2F); + this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + }*/ + + + if (!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.5F, true); + ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10); + ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 20); + ExplosionNukeGeneric.waste(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 20); + ExplosionChaos.poison(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 20); + } + this.worldObj.spawnEntityInWorld(new EntityLightningBolt(this.worldObj, this.posX, this.posY, this.posZ)); + this.setDead(); + } + else + { + ++this.ticksInAir; + Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) + { + vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int i; + float f1; + + for (i = 0; i < list.size(); ++i) + { + Entity entity1 = (Entity)list.get(i); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) + { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3); + + if (movingobjectposition1 != null) + { + double d1 = vec31.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) + { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) + { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) + { + EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) + { + movingobjectposition = null; + } + } + + float f2; + float f4; + + if (movingobjectposition != null) + { + if (movingobjectposition.entityHit != null) + { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int k = MathHelper.ceiling_double_int((double)f2 * this.damage); + + if (this.getIsCritical()) + { + k += this.rand.nextInt(k / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) + { + damagesource = DamageSource.causeIndirectMagicDamage(this, this); + } + else + { + damagesource = DamageSource.causeIndirectMagicDamage(this, this); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) + { + movingobjectposition.entityHit.setFire(5); + } + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, (float)k)) + { + if (movingobjectposition.entityHit instanceof EntityLivingBase) + { + EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) + { + entitylivingbase.setArrowCountInEntity(entitylivingbase.getArrowCountInEntity() + 1); + } + + if (this.knockbackStrength > 0) + { + f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f4 > 0.0F) + { + movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f4, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f4); + } + } + + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) + { + EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) + { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); + } + } + + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) + { + if (!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.5F, true); + } + this.setDead(); + } + } + else + { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } + else + { + this.field_145791_d = movingobjectposition.blockX; + this.field_145792_e = movingobjectposition.blockY; + this.field_145789_f = movingobjectposition.blockZ; + this.field_145790_g = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); + this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f); + this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if (this.field_145790_g.getMaterial() != Material.air) + { + this.field_145790_g.onEntityCollidedWithBlock(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f, this); + } + } + } + + if (true) + { + for (i = 0; i < 4; ++i) + { + this.worldObj.spawnParticle("smoke", this.posX, this.posY, this.posZ, 0, 0, 0 /*this.posX + this.motionX * (double)i / 4.0D, this.posY + this.motionY * (double)i / 4.0D, this.posZ + this.motionZ * (double)i / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ*/); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + //for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + /*while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + }*/ + + //this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + //this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f3 = 0.99F; + f1 = 0.05F; + + if (this.isInWater()) + { + for (int l = 0; l < 4; ++l) + { + f4 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f4, this.posY - this.motionY * (double)f4, this.posZ - this.motionZ * (double)f4, this.motionX, this.motionY, this.motionZ); + } + + f3 = 0.8F; + } + + if (this.isWet()) + { + this.extinguish(); + } + + this.motionX *= (double)f3; + this.motionY *= (double)f3; + this.motionZ *= (double)f3; + this.motionY -= (double)gravity; + this.setPosition(this.posX, this.posY, this.posZ); + this.func_145775_I(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound p_70014_1_) + { + p_70014_1_.setShort("xTile", (short)this.field_145791_d); + p_70014_1_.setShort("yTile", (short)this.field_145792_e); + p_70014_1_.setShort("zTile", (short)this.field_145789_f); + p_70014_1_.setShort("life", (short)this.ticksInGround); + p_70014_1_.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g)); + p_70014_1_.setByte("inData", (byte)this.inData); + p_70014_1_.setByte("shake", (byte)this.arrowShake); + p_70014_1_.setByte("inGround", (byte)(this.inGround ? 1 : 0)); + p_70014_1_.setByte("pickup", (byte)this.canBePickedUp); + p_70014_1_.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound p_70037_1_) + { + this.field_145791_d = p_70037_1_.getShort("xTile"); + this.field_145792_e = p_70037_1_.getShort("yTile"); + this.field_145789_f = p_70037_1_.getShort("zTile"); + this.ticksInGround = p_70037_1_.getShort("life"); + this.field_145790_g = Block.getBlockById(p_70037_1_.getByte("inTile") & 255); + this.inData = p_70037_1_.getByte("inData") & 255; + this.arrowShake = p_70037_1_.getByte("shake") & 255; + this.inGround = p_70037_1_.getByte("inGround") == 1; + + if (p_70037_1_.hasKey("damage", 99)) + { + this.damage = p_70037_1_.getDouble("damage"); + } + + if (p_70037_1_.hasKey("pickup", 99)) + { + this.canBePickedUp = p_70037_1_.getByte("pickup"); + } + else if (p_70037_1_.hasKey("player", 99)) + { + this.canBePickedUp = p_70037_1_.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer p_70100_1_) + { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) + { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && p_70100_1_.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !p_70100_1_.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_rpg_ammo, 1))) + { + flag = false; + } + + if (flag) + { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + p_70100_1_.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to + * prevent them from trampling crops + */ + protected boolean canTriggerWalking() + { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() + { + return 0.0F; + } + + public void setDamage(double p_70239_1_) + { + this.damage = p_70239_1_; + } + + public double getDamage() + { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int p_70240_1_) + { + this.knockbackStrength = p_70240_1_; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() + { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean p_70243_1_) + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (p_70243_1_) + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } + else + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } +} diff --git a/com/hbm/entity/EntityTestMissile.java b/com/hbm/entity/EntityTestMissile.java new file mode 100644 index 000000000..0783673a5 --- /dev/null +++ b/com/hbm/entity/EntityTestMissile.java @@ -0,0 +1,281 @@ +package com.hbm.entity; + +import com.hbm.calc.EasyLocation; +import com.hbm.calc.EasyVector; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.projectile.EntityThrowable; +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class EntityTestMissile extends EntityThrowable { + + EasyLocation origin; + EasyLocation loc0; + EasyLocation loc1; + EasyLocation loc2; + EasyLocation loc3; + EasyLocation loc4; + EasyLocation loc5; + EasyLocation loc6; + EasyLocation loc7; + EasyLocation target; + + public int lengthX; + public int lengthZ; + public double lengthFlight; + public int baseHeight = 0; + public double missileSpeed = 3; + + public int phase = 0; + + public EntityTestMissile(World p_i1582_1_) { + super(p_i1582_1_); + } + + public EntityTestMissile(World p_i1582_1_, int x, int z, double a, double b, double c) { + super(p_i1582_1_); + this.posX = a; + this.posY = b; + this.posZ = c; + + this.motionY = 0.1; + + lengthX = (int) (x - this.posX); + lengthZ = (int) (z - this.posZ); + lengthFlight = Math.sqrt(Math.pow(lengthX, 2) + Math.pow(lengthZ, 2)); + + + origin = new EasyLocation(this.posX, this.posY, this.posZ); + + loc0 = new EasyLocation(this.posX, this.posY + baseHeight, this.posZ); + loc1 = new EasyLocation(this.posX + lengthX/lengthFlight * 10, this.posY + baseHeight + 20, this.posZ + lengthZ/lengthFlight * 10); + loc2 = new EasyLocation(this.posX + lengthX/lengthFlight * 30, this.posY + baseHeight + 40, this.posZ + lengthZ/lengthFlight * 30); + loc3 = new EasyLocation(this.posX + lengthX/lengthFlight * 50, this.posY + baseHeight + 50, this.posZ + lengthZ/lengthFlight * 50); + + loc4 = new EasyLocation(x - (lengthX/lengthFlight * 50), this.posY + baseHeight + 50, z - (lengthZ/lengthFlight * 50)); + loc5 = new EasyLocation(x - (lengthX/lengthFlight * 30), this.posY + baseHeight + 40, z - (lengthZ/lengthFlight * 30)); + loc6 = new EasyLocation(x - (lengthX/lengthFlight * 10), this.posY + baseHeight + 20, z - (lengthZ/lengthFlight * 10)); + loc7 = new EasyLocation(x, this.posY + baseHeight, z); + + + target = new EasyLocation(x, 0, z); + + /*this.worldObj.setBlock((int)loc0.posX, (int)loc0.posY, (int)loc0.posZ, Blocks.dirt); + this.worldObj.setBlock((int)loc1.posX, (int)loc1.posY, (int)loc1.posZ, Blocks.dirt); + this.worldObj.setBlock((int)loc2.posX, (int)loc2.posY, (int)loc2.posZ, Blocks.dirt); + this.worldObj.setBlock((int)loc3.posX, (int)loc3.posY, (int)loc3.posZ, Blocks.dirt); + this.worldObj.setBlock((int)loc4.posX, (int)loc4.posY, (int)loc4.posZ, Blocks.stone); + this.worldObj.setBlock((int)loc5.posX, (int)loc5.posY, (int)loc5.posZ, Blocks.stone); + this.worldObj.setBlock((int)loc6.posX, (int)loc6.posY, (int)loc6.posZ, Blocks.stone); + this.worldObj.setBlock((int)loc7.posX, (int)loc7.posY, (int)loc7.posZ, Blocks.stone);*/ + + /*System.out.print("\n" + loc0.posX + " " + loc0.posY + " " + loc0.posZ); + System.out.print("\n" + loc1.posX + " " + loc1.posY + " " + loc1.posZ); + System.out.print("\n" + loc2.posX + " " + loc2.posY + " " + loc2.posZ); + System.out.print("\n" + loc3.posX + " " + loc3.posY + " " + loc3.posZ); + System.out.print("\n"); + System.out.print("\n" + loc4.posX + " " + loc4.posY + " " + loc4.posZ); + System.out.print("\n" + loc5.posX + " " + loc5.posY + " " + loc5.posZ); + System.out.print("\n" + loc6.posX + " " + loc6.posY + " " + loc6.posZ); + System.out.print("\n" + loc7.posX + " " + loc7.posY + " " + loc7.posZ);*/ + } + + @Override + protected void entityInit() { + + } + + @Override + public void onUpdate() + { + //super.onUpdate(); + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.rotation(); + + switch(phase) + { + case 0: + if(loc0 != null) + { + freePizzaGoddammit(loc0); + if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && + loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && + loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) + { + this.phase = 1; + } + } + break; + case 1: + if(loc1 != null) + { + freePizzaGoddammit(loc1); + if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && + loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && + loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) + { + this.phase = 2; + } + } + break; + case 2: + if(loc2 != null) + { + freePizzaGoddammit(loc2); + if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && + loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && + loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) + { + this.phase = 3; + } + } + break; + case 3: + if(loc3 != null) + { + freePizzaGoddammit(loc3); + if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && + loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && + loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) + { + this.phase = 4; + } + } + break; + case 4: + if(loc4 != null) + { + freePizzaGoddammit(loc4); + if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && + loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && + loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) + { + this.phase = 5; + } + } + break; + case 5: + if(loc5 != null) + { + freePizzaGoddammit(loc5); + if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && + loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && + loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) + { + this.phase = 6; + } + } + break; + case 6: + if(loc6 != null) + { + freePizzaGoddammit(loc6); + if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && + loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && + loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) + { + this.phase = 7; + } + } + break; + case 7: + if(loc7 != null) + { + freePizzaGoddammit(loc7); + if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && + loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && + loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) + { + this.phase = 8; + } + } + break; + case 8: + if(target != null) + { + freePizzaGoddammit(target); + if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && + target.posY + 2 > this.posY && target.posY - 2 < this.posY && + target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) + { + this.phase = -1; + } + } + break; + } + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5.0F, true); + } + this.setDead(); + } + } + + @Override + protected void onImpact(MovingObjectPosition p_70184_1_) { + } + + private void freePizzaGoddammit(EasyLocation loc) { + double x = loc.posX - this.posX; + double y = loc.posY - this.posY; + double z = loc.posZ - this.posZ; + lengthFlight = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2)); + + this.motionX = x / this.lengthFlight * missileSpeed; + this.motionY = y / this.lengthFlight * missileSpeed; + this.motionZ = z / this.lengthFlight * missileSpeed; + } + + private void rotation() { + /*EasyVector vec0 = new EasyVector(this.motionX, this.motionZ); + + EasyVector vec1 = new EasyVector(this.motionY, vec0.getResult()); + + this.rotationYaw = (float)Math.acos((vec0.a * 0 + vec0.b * 1) / (vec0.getResult() * 1)); + //this.rotationPitch = (float)Math.acos((vec0.a * vec1.a + vec0.b * vec1.b) / (vec0.getResult() * vec1.getResult())) * 10; + + this.rotationPitch = (float)Math.acos((vec0.a * vec1.a + vec0.b * vec1.b) / (vec0.getResult() * vec1.getResult())) * 100 - 90; + if(this.rotationPitch < 0) + this.rotationPitch += 180; + + System.out.print("\n" + this.rotationYaw); + System.out.print("\n" + this.rotationPitch);*/ + float f2; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + } + } + +} diff --git a/com/hbm/explosion/ExplosionChaos.java b/com/hbm/explosion/ExplosionChaos.java new file mode 100644 index 000000000..506868e5e --- /dev/null +++ b/com/hbm/explosion/ExplosionChaos.java @@ -0,0 +1,746 @@ +package com.hbm.explosion; + +import java.util.HashSet; +import java.util.List; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.EntityGrenadeNuke; +import com.hbm.entity.EntityMirv; +import com.hbm.entity.EntityMissileAntiBallistic; +import com.hbm.entity.EntityMissileBase; +import com.hbm.entity.EntityNukeCloudSmall; +import com.hbm.entity.EntityRocket; +import com.hbm.entity.EntitySchrab; +import com.hbm.lib.Library; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentProtection; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityFallingBlock; +import net.minecraft.entity.item.EntityTNTPrimed; +import net.minecraft.entity.passive.EntityOcelot; +import net.minecraft.entity.passive.EntitySheep; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraft.world.WorldSettings.GameType; +import net.minecraftforge.common.util.ForgeDirection; + +public class ExplosionChaos { + + private final static Random random = new Random(); + private static Random rand = new Random(); + + public static void explode(World world, int x, int y, int z, int bombStartStrength) { + + int r = bombStartStrength; + int r2 = r*r; + int r22 = r2/2; + for (int xx = -r; xx < r; xx++) + { + int X = xx+x; + int XX = xx*xx; + for (int yy = -r; yy < r; yy++) + { + int Y = yy+y; + int YY = XX+yy*yy; + for (int zz = -r; zz < r; zz++) + { + int Z = zz+z; + int ZZ = YY+zz*zz; + if (ZZ this.nlimit; + } + + private void breakColumn(int x, int z) + { + int dist = this.radius2 - (x * x + z * z); + if (dist > 0) + { + dist = (int) Math.sqrt(dist); + for (int y = dist; y > -dist / this.explosionCoefficient; y--) + { + if(!(this.worldObj.getBlock(this.posX+x, this.posY+y, this.posZ+z) == Blocks.bedrock && this.posY+y <= 0) && !(this.worldObj.getBlock(this.posX+x, this.posY+y, this.posZ+z) instanceof DecoBlockAlt))this.worldObj.setBlock(this.posX+x, this.posY+y, this.posZ+z, Blocks.air); + } + } + } +} diff --git a/com/hbm/explosion/ExplosionNukeAdvanced.java b/com/hbm/explosion/ExplosionNukeAdvanced.java new file mode 100644 index 000000000..d7e68270a --- /dev/null +++ b/com/hbm/explosion/ExplosionNukeAdvanced.java @@ -0,0 +1,175 @@ +package com.hbm.explosion; + +import com.hbm.particles.NukeCloudFX; +import com.hbm.particles.NukeSmokeFX; + +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class ExplosionNukeAdvanced +{ + public int posX; + public int posY; + public int posZ; + public int lastposX = 0; + public int lastposZ = 0; + public int radius; + public int radius2; + public World worldObj; + private int n = 1; + private int nlimit; + private int shell; + private int leg; + private int element; + public float explosionCoefficient = 1.0F; + public int type = 0; + + public ExplosionNukeAdvanced(int x, int y, int z, World world, int rad, float coefficient, int typ) + { + this.posX = x; + this.posY = y; + this.posZ = z; + + this.worldObj = world; + + this.radius = rad; + this.radius2 = this.radius * this.radius; + + this.explosionCoefficient = coefficient; + this.type = typ; + + this.nlimit = this.radius2 * 4; //How many total columns should be broken (radius ^ 2 is one quadrant, there are 4 quadrants) + } + + public boolean update() + { + switch(this.type) + { + case 0: + breakColumn(this.lastposX, this.lastposZ); break; + case 1: + vapor(this.lastposX, this.lastposZ); break; + case 2: + waste(this.lastposX, this.lastposZ); break; + } + this.shell = (int) Math.floor((Math.sqrt(n) + 1) / 2); //crazy stuff I can't explain + int shell2 = this.shell * 2; + this.leg = (int) Math.floor((this.n - (shell2 - 1) * (shell2 - 1)) / shell2); + this.element = (this.n - (shell2 - 1) * (shell2 - 1)) - shell2 * this.leg - this.shell + 1; + this.lastposX = this.leg == 0 ? this.shell : this.leg == 1 ? -this.element : this.leg == 2 ? -this.shell : this.element; + this.lastposZ = this.leg == 0 ? this.element : this.leg == 1 ? this.shell : this.leg == 2 ? -this.element : -this.shell; + this.n++; + return this.n > this.nlimit; //return whether we are done or not + } + + private void breakColumn(int x, int z) + { + int dist = this.radius2 - (x * x + z * z); //we have two sides of the triangle (hypotenuse is radius, one leg is (x*x+z*z)) this calculates the third one + if (dist > 0) //check if any blocks have to be broken here + { + dist = (int) Math.sqrt(dist); //calculate sphere height at this (x,z) coordinate + for (int y = dist; y > -dist / this.explosionCoefficient; y--) //go from top to bottom to favor light updates + { + //this.worldObj.setBlock(this.posX+x, this.posY+y, this.posZ+z, Blocks.air); //set block to air relative to epicenter + + ExplosionNukeGeneric.destruction(this.worldObj, this.posX + x, this.posY + y, this.posZ + z); + } + } + } + + private void vapor(int x, int z) + { + int dist = this.radius2 - (x * x + z * z); + if (dist > 0) + { + dist = (int) Math.sqrt(dist); + for (int y = dist; y > -dist; y--) + { + + ExplosionNukeGeneric.vaporDest(this.worldObj, this.posX + x, this.posY + y, this.posZ + z); + } + } + } + + private void waste(int x, int z) + { + int dist = this.radius2 - (x * x + z * z); + if (dist > 0) + { + dist = (int) Math.sqrt(dist); + for (int y = dist; y > -dist; y--) + { + + ExplosionNukeGeneric.wasteDest(this.worldObj, this.posX + x, this.posY + y, this.posZ + z); + } + } + } + + /*public static void mush(World world, double x, double y, double z) + { + double d = (float)x + 0.5F; + double d1 = (float)y + 0.5F; + double d2 = (float)z + 0.5F; + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1, d2, 0.0D, 0.0D, 0.0D, 100)); + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d + 15, d1, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1, d2 + 15, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d - 15, d1, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1, d2 - 15, 0.0D, 0.0D, 0.0D, 100)); + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d + 25, d1, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1, d2 + 25, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d - 25, d1, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1, d2 - 25, 0.0D, 0.0D, 0.0D, 100)); + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d + 10, d1, d2 + 10, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d + 10, d1, d2 - 10, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d - 10, d1, d2 + 10, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d - 10, d1, d2 - 10, 0.0D, 0.0D, 0.0D, 100)); + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 15, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 30, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 45, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 60, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 75, d2, 0.0D, 0.0D, 0.0D, 100)); + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 90, d2, 0.0D, 0.0D, 0.0D, 100)); + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d + 15, d1 + 90, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 90, d2 + 15, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d - 15, d1 + 90, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 90, d2 - 15, 0.0D, 0.0D, 0.0D, 100)); + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d + 40, d1 + 90, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 90, d2 + 40, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d - 40, d1 + 90, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 90, d2 - 40, 0.0D, 0.0D, 0.0D, 100)); + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d + 30, d1 + 90, d2 + 30, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d + 30, d1 + 90, d2 - 30, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d - 30, d1 + 90, d2 + 30, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d - 30, d1 + 90, d2 - 30, 0.0D, 0.0D, 0.0D, 100)); + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 105, d2, 0.0D, 0.0D, 0.0D, 100)); + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d + 30, d1 + 105, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 105, d2 + 30, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d - 30, d1 + 105, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 105, d2 - 30, 0.0D, 0.0D, 0.0D, 100)); + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d + 20, d1 + 105, d2 + 20, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d + 20, d1 + 105, d2 - 20, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d - 20, d1 + 105, d2 + 20, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d - 20, d1 + 105, d2 - 20, 0.0D, 0.0D, 0.0D, 100)); + + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d + 10, d1 + 120, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 120, d2 + 10, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d - 10, d1 + 120, d2, 0.0D, 0.0D, 0.0D, 100)); + Minecraft.getMinecraft().effectRenderer.addEffect(new NukeCloudFX(world, d, d1 + 120, d2 - 10, 0.0D, 0.0D, 0.0D, 100)); + }*/ +} diff --git a/com/hbm/explosion/ExplosionNukeGeneric.java b/com/hbm/explosion/ExplosionNukeGeneric.java new file mode 100644 index 000000000..6f756b9b7 --- /dev/null +++ b/com/hbm/explosion/ExplosionNukeGeneric.java @@ -0,0 +1,366 @@ +package com.hbm.explosion; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import net.minecraft.enchantment.EnchantmentProtection; +import net.minecraft.entity.Entity; +import net.minecraft.entity.passive.EntityOcelot; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Blocks; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraft.world.WorldSettings.GameType; +import net.minecraftforge.common.util.ForgeDirection; + +import com.hbm.blocks.DecoBlockAlt; +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.EntityMirv; +import com.hbm.entity.EntityNukeCloudSmall; +import com.hbm.entity.EntityNukeExplosionAdvanced; + +public class ExplosionNukeGeneric { + + private final static Random field_149933_a = new Random(); + + public static void detonateTestBomb(World world, int x, int y, int z, int bombStartStrength) + { + int r = bombStartStrength; + int r2 = r*r; + int r22 = r2/2; + for (int xx = -r; xx < r; xx++) + { + int X = xx+x; + int XX = xx*xx; + for (int yy = -r; yy < r; yy++) + { + int Y = yy+y; + int YY = XX+yy*yy; + for (int zz = -r; zz < r; zz++) + { + int Z = zz+z; + int ZZ = YY+zz*zz; + if(r22 >= 25) + { + if (ZZ= y) destruction(world, X, Y, Z); + } + } else { + if (ZZ= y) destruction(world, X, Y, Z); + } + } + } + } + } + + for (int xx = -r; xx < r; xx++) + { + int X = xx+x; + int XX = xx*xx; + for (int yy = -r; yy < r; yy++) + { + int Y = yy+y; + int YY = XX+yy*yy*50; + for (int zz = -r; zz < r; zz++) + { + int Z = zz+z; + int ZZ = YY+zz*zz; + if (ZZ 0) isOccupied = true; + double d11 = (1.0D - d4);// * d10; + if(!(entity instanceof EntityPlayerMP) || (entity instanceof EntityPlayerMP && ((EntityPlayerMP)entity).theItemInWorldManager.getGameType() != GameType.CREATIVE)) + { + entity.attackEntityFrom(DamageSource.generic, (float)((int)((d11 * d11 + d11) / 2.0D * 8.0D * (double)bombStartStrength + 1.0D))); + entity.setFire(30); + double d8 = EnchantmentProtection.func_92092_a(entity, d11); + entity.motionX += d5 * d8; + entity.motionY += d6 * d8; + entity.motionZ += d7 * d8; + } + } + } + } + + bombStartStrength = (int)f; + } + + public static void vapor(World world, int x, int y, int z, int bombStartStrength) { + int r = bombStartStrength * 2; + int r2 = r*r; + int r22 = r2/2; + for (int xx = -r; xx < r; xx++) + { + int X = xx+x; + int XX = xx*xx; + for (int yy = -r; yy < r; yy++) + { + int Y = yy+y; + int YY = XX+yy*yy; + for (int zz = -r; zz < r; zz++) + { + int Z = zz+z; + int ZZ = YY+zz*zz; + if (ZZ= 3 && p_82846_2_ < 30) + { + if (!this.mergeItemStack(itemstack1, 30, 39, false)) + { + return null; + } + } + else if (p_82846_2_ >= 30 && p_82846_2_ < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) + { + return null; + } + } + else if (!this.mergeItemStack(itemstack1, 3, 39, false)) + { + return null; + } + + if (itemstack1.stackSize == 0) + { + slot.putStack((ItemStack)null); + } + else + { + slot.onSlotChanged(); + } + + if (itemstack1.stackSize == itemstack.stackSize) + { + return null; + } + + slot.onPickupFromSlot(p_82846_1_, itemstack1); + } + + return itemstack;*/ + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return diFurnace.isUseableByPlayer(player); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.dualCookTime != this.diFurnace.dualCookTime) + { + par1.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); + } + + if(this.dualPower != this.diFurnace.dualPower) + { + par1.sendProgressBarUpdate(this, 1, this.diFurnace.dualPower); + } + } + + this.dualCookTime = this.diFurnace.dualCookTime; + this.dualPower = this.diFurnace.dualPower; + } + + public void updateProgressBar(int i, int j) { + if(i == 0) + { + diFurnace.dualCookTime = j; + } + if(i == 1) + { + diFurnace.dualPower = j; + } + } + +} diff --git a/com/hbm/gui/ContainerElectricFurnace.java b/com/hbm/gui/ContainerElectricFurnace.java new file mode 100644 index 000000000..74e7063eb --- /dev/null +++ b/com/hbm/gui/ContainerElectricFurnace.java @@ -0,0 +1,93 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityMachineElectricFurnace; +import com.hbm.blocks.TileEntityNukeFurnace; + +public class ContainerElectricFurnace extends Container { + + private TileEntityMachineElectricFurnace diFurnace; + private int dualCookTime; + private int dualPower; + private int lastItemBurnTime; + + public ContainerElectricFurnace(InventoryPlayer invPlayer, TileEntityMachineElectricFurnace tedf) { + dualCookTime = 0; + dualPower = 0; + lastItemBurnTime = 0; + + diFurnace = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 56, 53)); + this.addSlotToContainer(new Slot(tedf, 1, 56, 17)); + this.addSlotToContainer(new SlotDiFurnace(invPlayer.player, tedf, 2, 116, 35)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public void addCraftingToCrafters(ICrafting crafting) { + super.addCraftingToCrafters(crafting); + crafting.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); + crafting.sendProgressBarUpdate(this, 1, this.diFurnace.power); + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return diFurnace.isUseableByPlayer(player); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.dualCookTime != this.diFurnace.dualCookTime) + { + par1.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); + } + + if(this.dualPower != this.diFurnace.power) + { + par1.sendProgressBarUpdate(this, 1, this.diFurnace.power); + } + } + + this.dualCookTime = this.diFurnace.dualCookTime; + this.dualPower = this.diFurnace.power; + } + + public void updateProgressBar(int i, int j) { + if(i == 0) + { + diFurnace.dualCookTime = j; + } + if(i == 1) + { + diFurnace.power = j; + } + } +} diff --git a/com/hbm/gui/ContainerGenerator.java b/com/hbm/gui/ContainerGenerator.java new file mode 100644 index 000000000..adb3f3315 --- /dev/null +++ b/com/hbm/gui/ContainerGenerator.java @@ -0,0 +1,124 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityMachineGenerator; +import com.hbm.blocks.TileEntityRtgFurnace; + +public class ContainerGenerator extends Container { + + private TileEntityMachineGenerator diFurnace; + + private int water; + private int cool; + private int power; + private int heat; + + public ContainerGenerator(InventoryPlayer invPlayer, TileEntityMachineGenerator tedf) { + + diFurnace = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 116, 36)); + this.addSlotToContainer(new Slot(tedf, 1, 134, 36)); + this.addSlotToContainer(new Slot(tedf, 2, 152, 36)); + this.addSlotToContainer(new Slot(tedf, 3, 116, 54)); + this.addSlotToContainer(new Slot(tedf, 4, 134, 54)); + this.addSlotToContainer(new Slot(tedf, 5, 152, 54)); + this.addSlotToContainer(new Slot(tedf, 6, 116, 72)); + this.addSlotToContainer(new Slot(tedf, 7, 134, 72)); + this.addSlotToContainer(new Slot(tedf, 8, 152, 72)); + this.addSlotToContainer(new Slot(tedf, 9, 8, 90)); + this.addSlotToContainer(new Slot(tedf, 10, 26, 90)); + this.addSlotToContainer(new Slot(tedf, 11, 62, 90)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); + } + } + + public void addCraftingToCrafters(ICrafting crafting) { + super.addCraftingToCrafters(crafting); + crafting.sendProgressBarUpdate(this, 0, this.diFurnace.water); + crafting.sendProgressBarUpdate(this, 1, this.diFurnace.cool); + crafting.sendProgressBarUpdate(this, 2, this.diFurnace.power); + crafting.sendProgressBarUpdate(this, 3, this.diFurnace.heat); + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return diFurnace.isUseableByPlayer(player); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.water != this.diFurnace.water) + { + par1.sendProgressBarUpdate(this, 0, this.diFurnace.water); + } + + if(this.cool != this.diFurnace.cool) + { + par1.sendProgressBarUpdate(this, 1, this.diFurnace.cool); + } + + if(this.power != this.diFurnace.power) + { + par1.sendProgressBarUpdate(this, 2, this.diFurnace.power); + } + + if(this.heat != this.diFurnace.heat) + { + par1.sendProgressBarUpdate(this, 3, this.diFurnace.heat); + } + } + + this.water = this.diFurnace.water; + this.cool = this.diFurnace.cool; + this.power = this.diFurnace.power; + this.heat = this.diFurnace.heat; + } + + public void updateProgressBar(int i, int j) { + if(i == 0) + { + diFurnace.water = j; + } + if(i == 1) + { + diFurnace.cool = j; + } + if(i == 2) + { + diFurnace.power = j; + } + if(i == 3) + { + diFurnace.heat = j; + } + } + +} diff --git a/com/hbm/gui/ContainerLaunchPadTier1.java b/com/hbm/gui/ContainerLaunchPadTier1.java new file mode 100644 index 000000000..6bd81c814 --- /dev/null +++ b/com/hbm/gui/ContainerLaunchPadTier1.java @@ -0,0 +1,78 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityLaunchPad; +import com.hbm.blocks.TileEntityMachineBattery; + +public class ContainerLaunchPadTier1 extends Container { + + private TileEntityLaunchPad diFurnace; + private int power; + + public ContainerLaunchPadTier1(InventoryPlayer invPlayer, TileEntityLaunchPad tedf) { + power = 0; + + diFurnace = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 26, 17)); + this.addSlotToContainer(new Slot(tedf, 1, 80, 17)); + this.addSlotToContainer(new Slot(tedf, 2, 134, 17)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public void addCraftingToCrafters(ICrafting crafting) { + super.addCraftingToCrafters(crafting); + crafting.sendProgressBarUpdate(this, 0, this.diFurnace.power); + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return diFurnace.isUseableByPlayer(player); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.power != this.diFurnace.power) + { + par1.sendProgressBarUpdate(this, 0, this.diFurnace.power); + } + } + + this.power = this.diFurnace.power; + } + + public void updateProgressBar(int i, int j) { + if(i == 0) + { + diFurnace.power = j; + } + } +} diff --git a/com/hbm/gui/ContainerMachineBattery.java b/com/hbm/gui/ContainerMachineBattery.java new file mode 100644 index 000000000..5fabaaddd --- /dev/null +++ b/com/hbm/gui/ContainerMachineBattery.java @@ -0,0 +1,77 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityMachineBattery; +import com.hbm.blocks.TileEntityMachineElectricFurnace; + +public class ContainerMachineBattery extends Container { + + private TileEntityMachineBattery diFurnace; + private int power; + + public ContainerMachineBattery(InventoryPlayer invPlayer, TileEntityMachineBattery tedf) { + power = 0; + + diFurnace = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 26, 35)); + this.addSlotToContainer(new Slot(tedf, 1, 134, 35)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public void addCraftingToCrafters(ICrafting crafting) { + super.addCraftingToCrafters(crafting); + crafting.sendProgressBarUpdate(this, 0, this.diFurnace.power); + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return diFurnace.isUseableByPlayer(player); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.power != this.diFurnace.power) + { + par1.sendProgressBarUpdate(this, 0, this.diFurnace.power); + } + } + + this.power = this.diFurnace.power; + } + + public void updateProgressBar(int i, int j) { + if(i == 0) + { + diFurnace.power = j; + } + } +} diff --git a/com/hbm/gui/ContainerMachineCoal.java b/com/hbm/gui/ContainerMachineCoal.java new file mode 100644 index 000000000..bd4d656b4 --- /dev/null +++ b/com/hbm/gui/ContainerMachineCoal.java @@ -0,0 +1,104 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityMachineCoal; +import com.hbm.blocks.TileEntityMachineElectricFurnace; + +public class ContainerMachineCoal extends Container { + + private TileEntityMachineCoal diFurnace; + private int power; + private int water; + private int burnTime; + + public ContainerMachineCoal(InventoryPlayer invPlayer, TileEntityMachineCoal tedf) { + power = 0; + water = 0; + burnTime = 0; + + diFurnace = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 44, 53)); + this.addSlotToContainer(new Slot(tedf, 1, 80, 53)); + this.addSlotToContainer(new Slot(tedf, 2, 116, 53)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public void addCraftingToCrafters(ICrafting crafting) { + super.addCraftingToCrafters(crafting); + crafting.sendProgressBarUpdate(this, 0, this.diFurnace.water); + crafting.sendProgressBarUpdate(this, 1, this.diFurnace.power); + crafting.sendProgressBarUpdate(this, 2, this.diFurnace.burnTime); + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return diFurnace.isUseableByPlayer(player); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.water != this.diFurnace.water) + { + par1.sendProgressBarUpdate(this, 0, this.diFurnace.water); + } + + if(this.power != this.diFurnace.power) + { + par1.sendProgressBarUpdate(this, 1, this.diFurnace.power); + } + + if(this.power != this.diFurnace.burnTime) + { + par1.sendProgressBarUpdate(this, 2, this.diFurnace.burnTime); + } + } + + this.water = this.diFurnace.water; + this.power = this.diFurnace.power; + this.burnTime = this.diFurnace.burnTime; + } + + public void updateProgressBar(int i, int j) { + if(i == 0) + { + diFurnace.water = j; + } + if(i == 1) + { + diFurnace.power = j; + } + if(i == 2) + { + diFurnace.burnTime = j; + } + } +} diff --git a/com/hbm/gui/ContainerMachineDeuterium.java b/com/hbm/gui/ContainerMachineDeuterium.java new file mode 100644 index 000000000..997a08473 --- /dev/null +++ b/com/hbm/gui/ContainerMachineDeuterium.java @@ -0,0 +1,108 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityMachineDeuterium; +import com.hbm.blocks.TileEntityNukeBoy; + +public class ContainerMachineDeuterium extends Container { + +private TileEntityMachineDeuterium nukeBoy; + + private int power; + private int water; + private int sulfur; + private int progress; + + public ContainerMachineDeuterium(InventoryPlayer invPlayer, TileEntityMachineDeuterium tedf) { + + nukeBoy = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 8, 90)); + this.addSlotToContainer(new Slot(tedf, 1, 26, 90)); + this.addSlotToContainer(new Slot(tedf, 2, 44, 90)); + this.addSlotToContainer(new Slot(tedf, 3, 80, 54)); + this.addSlotToContainer(new Slot(tedf, 4, 140, 54)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); + } + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return nukeBoy.isUseableByPlayer(player); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.power != this.nukeBoy.process) + { + par1.sendProgressBarUpdate(this, 0, this.nukeBoy.process); + } + + if(this.water != this.nukeBoy.water) + { + par1.sendProgressBarUpdate(this, 1, this.nukeBoy.water); + } + + if(this.sulfur != this.nukeBoy.sulfur) + { + par1.sendProgressBarUpdate(this, 2, this.nukeBoy.sulfur); + } + + if(this.power != this.nukeBoy.power) + { + par1.sendProgressBarUpdate(this, 3, this.nukeBoy.power); + } + } + + this.power = this.nukeBoy.power; + this.progress = this.nukeBoy.process; + this.water = this.nukeBoy.water; + this.sulfur = this.nukeBoy.sulfur; + } + + public void updateProgressBar(int i, int j) { + if(i == 0) + { + nukeBoy.process = j; + } + if(i == 1) + { + nukeBoy.water = j; + } + if(i == 2) + { + nukeBoy.sulfur = j; + } + if(i == 3) + { + nukeBoy.power = j; + } + } +} diff --git a/com/hbm/gui/ContainerNukeBoy.java b/com/hbm/gui/ContainerNukeBoy.java new file mode 100644 index 000000000..73a56d1f1 --- /dev/null +++ b/com/hbm/gui/ContainerNukeBoy.java @@ -0,0 +1,53 @@ +package com.hbm.gui; + +import com.hbm.blocks.TileEntityNukeBoy; +import com.hbm.blocks.TileEntityNukeGadget; +import com.hbm.blocks.TileEntityTestNuke; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.tileentity.TileEntityFurnace; + +public class ContainerNukeBoy extends Container { + +private TileEntityNukeBoy nukeBoy; + + public ContainerNukeBoy(InventoryPlayer invPlayer, TileEntityNukeBoy tedf) { + + nukeBoy = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 26, 36)); + this.addSlotToContainer(new Slot(tedf, 1, 44, 36)); + this.addSlotToContainer(new Slot(tedf, 2, 62, 36)); + this.addSlotToContainer(new Slot(tedf, 3, 80, 36)); + this.addSlotToContainer(new Slot(tedf, 4, 98, 36)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return nukeBoy.isUseableByPlayer(player); + } + +} diff --git a/com/hbm/gui/ContainerNukeFleija.java b/com/hbm/gui/ContainerNukeFleija.java new file mode 100644 index 000000000..940ead34b --- /dev/null +++ b/com/hbm/gui/ContainerNukeFleija.java @@ -0,0 +1,55 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityNukeFleija; +import com.hbm.blocks.TileEntityNukeTsar; + +public class ContainerNukeFleija extends Container { + +private TileEntityNukeFleija nukeTsar; + + public ContainerNukeFleija(InventoryPlayer invPlayer, TileEntityNukeFleija tedf) { + + nukeTsar = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 8, 36)); + this.addSlotToContainer(new Slot(tedf, 1, 152, 36)); + this.addSlotToContainer(new Slot(tedf, 2, 44, 18)); + this.addSlotToContainer(new Slot(tedf, 3, 44, 36)); + this.addSlotToContainer(new Slot(tedf, 4, 44, 54)); + this.addSlotToContainer(new Slot(tedf, 5, 80, 18)); + this.addSlotToContainer(new Slot(tedf, 6, 98, 18)); + this.addSlotToContainer(new Slot(tedf, 7, 80, 36)); + this.addSlotToContainer(new Slot(tedf, 8, 98, 36)); + this.addSlotToContainer(new Slot(tedf, 9, 80, 54)); + this.addSlotToContainer(new Slot(tedf, 10, 98, 54)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); + } + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return nukeTsar.isUseableByPlayer(player); + } +} diff --git a/com/hbm/gui/ContainerNukeFurnace.java b/com/hbm/gui/ContainerNukeFurnace.java new file mode 100644 index 000000000..6ff11673a --- /dev/null +++ b/com/hbm/gui/ContainerNukeFurnace.java @@ -0,0 +1,93 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityMachineReactor; +import com.hbm.blocks.TileEntityNukeFurnace; + +public class ContainerNukeFurnace extends Container { + + private TileEntityNukeFurnace diFurnace; + private int dualCookTime; + private int dualPower; + private int lastItemBurnTime; + + public ContainerNukeFurnace(InventoryPlayer invPlayer, TileEntityNukeFurnace tedf) { + dualCookTime = 0; + dualPower = 0; + lastItemBurnTime = 0; + + diFurnace = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 56, 53)); + this.addSlotToContainer(new Slot(tedf, 1, 56, 17)); + this.addSlotToContainer(new SlotDiFurnace(invPlayer.player, tedf, 2, 116, 35)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public void addCraftingToCrafters(ICrafting crafting) { + super.addCraftingToCrafters(crafting); + crafting.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); + crafting.sendProgressBarUpdate(this, 1, this.diFurnace.dualPower); + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return diFurnace.isUseableByPlayer(player); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.dualCookTime != this.diFurnace.dualCookTime) + { + par1.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); + } + + if(this.dualPower != this.diFurnace.dualPower) + { + par1.sendProgressBarUpdate(this, 1, this.diFurnace.dualPower); + } + } + + this.dualCookTime = this.diFurnace.dualCookTime; + this.dualPower = this.diFurnace.dualPower; + } + + public void updateProgressBar(int i, int j) { + if(i == 0) + { + diFurnace.dualCookTime = j; + } + if(i == 1) + { + diFurnace.dualPower = j; + } + } +} diff --git a/com/hbm/gui/ContainerNukeGadget.java b/com/hbm/gui/ContainerNukeGadget.java new file mode 100644 index 000000000..cbb8ead9e --- /dev/null +++ b/com/hbm/gui/ContainerNukeGadget.java @@ -0,0 +1,53 @@ +package com.hbm.gui; + +import com.hbm.blocks.TileEntityNukeGadget; +import com.hbm.blocks.TileEntityTestNuke; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.tileentity.TileEntityFurnace; + +public class ContainerNukeGadget extends Container { + +private TileEntityNukeGadget nukeGadget; + + public ContainerNukeGadget(InventoryPlayer invPlayer, TileEntityNukeGadget tedf) { + + nukeGadget = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 26, 35)); + this.addSlotToContainer(new Slot(tedf, 1, 8, 17)); + this.addSlotToContainer(new Slot(tedf, 2, 44, 17)); + this.addSlotToContainer(new Slot(tedf, 3, 8, 53)); + this.addSlotToContainer(new Slot(tedf, 4, 44, 53)); + this.addSlotToContainer(new Slot(tedf, 5, 98, 35)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return nukeGadget.isUseableByPlayer(player); + } + +} diff --git a/com/hbm/gui/ContainerNukeMan.java b/com/hbm/gui/ContainerNukeMan.java new file mode 100644 index 000000000..736d572d2 --- /dev/null +++ b/com/hbm/gui/ContainerNukeMan.java @@ -0,0 +1,54 @@ +package com.hbm.gui; + +import com.hbm.blocks.TileEntityNukeGadget; +import com.hbm.blocks.TileEntityNukeMan; +import com.hbm.blocks.TileEntityTestNuke; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.tileentity.TileEntityFurnace; + +public class ContainerNukeMan extends Container { + +private TileEntityNukeMan nukeMan; + + public ContainerNukeMan(InventoryPlayer invPlayer, TileEntityNukeMan tedf) { + + nukeMan = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 26, 35)); + this.addSlotToContainer(new Slot(tedf, 1, 8, 17)); + this.addSlotToContainer(new Slot(tedf, 2, 44, 17)); + this.addSlotToContainer(new Slot(tedf, 3, 8, 53)); + this.addSlotToContainer(new Slot(tedf, 4, 44, 53)); + this.addSlotToContainer(new Slot(tedf, 5, 98, 35)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return nukeMan.isUseableByPlayer(player); + } + +} diff --git a/com/hbm/gui/ContainerNukeMike.java b/com/hbm/gui/ContainerNukeMike.java new file mode 100644 index 000000000..2f9eea08d --- /dev/null +++ b/com/hbm/gui/ContainerNukeMike.java @@ -0,0 +1,53 @@ +package com.hbm.gui; + +import com.hbm.blocks.TileEntityNukeMan; +import com.hbm.blocks.TileEntityNukeMike; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerNukeMike extends Container { + +private TileEntityNukeMike nukeMike; + + public ContainerNukeMike(InventoryPlayer invPlayer, TileEntityNukeMike tedf) { + + nukeMike = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 26, 17)); + this.addSlotToContainer(new Slot(tedf, 1, 62, 17)); + this.addSlotToContainer(new Slot(tedf, 2, 26, 53)); + this.addSlotToContainer(new Slot(tedf, 3, 62, 53)); + this.addSlotToContainer(new Slot(tedf, 4, 44, 35)); + this.addSlotToContainer(new Slot(tedf, 5, 80, 35)); + this.addSlotToContainer(new Slot(tedf, 6, 98, 35)); + this.addSlotToContainer(new Slot(tedf, 7, 116, 35)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return nukeMike.isUseableByPlayer(player); + } + +} diff --git a/com/hbm/gui/ContainerNukePrototype.java b/com/hbm/gui/ContainerNukePrototype.java new file mode 100644 index 000000000..f45c39d03 --- /dev/null +++ b/com/hbm/gui/ContainerNukePrototype.java @@ -0,0 +1,58 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityNukeFleija; +import com.hbm.blocks.TileEntityNukePrototype; + +public class ContainerNukePrototype extends Container { + +private TileEntityNukePrototype nukeTsar; + + public ContainerNukePrototype(InventoryPlayer invPlayer, TileEntityNukePrototype tedf) { + + nukeTsar = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 8, 35)); + this.addSlotToContainer(new Slot(tedf, 1, 26, 35)); + this.addSlotToContainer(new Slot(tedf, 2, 44, 26)); + this.addSlotToContainer(new Slot(tedf, 3, 44, 44)); + this.addSlotToContainer(new Slot(tedf, 4, 62, 26)); + this.addSlotToContainer(new Slot(tedf, 5, 62, 44)); + this.addSlotToContainer(new Slot(tedf, 6, 80, 26)); + this.addSlotToContainer(new Slot(tedf, 7, 80, 44)); + this.addSlotToContainer(new Slot(tedf, 8, 98, 26)); + this.addSlotToContainer(new Slot(tedf, 9, 98, 44)); + this.addSlotToContainer(new Slot(tedf, 10, 116, 26)); + this.addSlotToContainer(new Slot(tedf, 11, 116, 44)); + this.addSlotToContainer(new Slot(tedf, 12, 134, 35)); + this.addSlotToContainer(new Slot(tedf, 13, 152, 35)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return nukeTsar.isUseableByPlayer(player); + } +} diff --git a/com/hbm/gui/ContainerNukeTsar.java b/com/hbm/gui/ContainerNukeTsar.java new file mode 100644 index 000000000..4b3f72f88 --- /dev/null +++ b/com/hbm/gui/ContainerNukeTsar.java @@ -0,0 +1,49 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityNukeTsar; + +public class ContainerNukeTsar extends Container { + +private TileEntityNukeTsar nukeTsar; + + public ContainerNukeTsar(InventoryPlayer invPlayer, TileEntityNukeTsar tedf) { + + nukeTsar = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 35, 17)); + this.addSlotToContainer(new Slot(tedf, 1, 71, 17)); + this.addSlotToContainer(new Slot(tedf, 2, 35, 53)); + this.addSlotToContainer(new Slot(tedf, 3, 71, 53)); + this.addSlotToContainer(new Slot(tedf, 4, 53, 35)); + this.addSlotToContainer(new Slot(tedf, 5, 98, 35)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return nukeTsar.isUseableByPlayer(player); + } +} diff --git a/com/hbm/gui/ContainerPuF6Tank.java b/com/hbm/gui/ContainerPuF6Tank.java new file mode 100644 index 000000000..23dad76e2 --- /dev/null +++ b/com/hbm/gui/ContainerPuF6Tank.java @@ -0,0 +1,81 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityMachinePuF6Tank; +import com.hbm.blocks.TileEntityMachineUF6Tank; +import com.hbm.blocks.TileEntityTestNuke; + +public class ContainerPuF6Tank extends Container { + + private TileEntityMachinePuF6Tank testNuke; + private int fillState; + + public ContainerPuF6Tank(InventoryPlayer invPlayer, TileEntityMachinePuF6Tank tedf) { + fillState = 0; + + testNuke = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 44, 17)); + this.addSlotToContainer(new SlotDiFurnace(invPlayer.player, tedf, 1, 44, 53)); + this.addSlotToContainer(new Slot(tedf, 2, 116, 17)); + this.addSlotToContainer(new SlotDiFurnace(invPlayer.player, tedf, 3, 116, 53)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public void addCraftingToCrafters(ICrafting crafting) { + super.addCraftingToCrafters(crafting); + crafting.sendProgressBarUpdate(this, 0, this.testNuke.fillState); + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return testNuke.isUseableByPlayer(player); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.fillState != this.testNuke.fillState) + { + par1.sendProgressBarUpdate(this, 0, this.testNuke.fillState); + } + } + + this.fillState = this.testNuke.fillState; + } + + public void updateProgressBar(int i, int j) { + if(i == 0) + { + testNuke.fillState = j; + } + } + +} \ No newline at end of file diff --git a/com/hbm/gui/ContainerReactor.java b/com/hbm/gui/ContainerReactor.java new file mode 100644 index 000000000..5f6b28775 --- /dev/null +++ b/com/hbm/gui/ContainerReactor.java @@ -0,0 +1,96 @@ +package com.hbm.gui; + +import com.hbm.blocks.TileEntityDiFurnace; +import com.hbm.blocks.TileEntityMachineReactor; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.tileentity.TileEntityFurnace; + +public class ContainerReactor extends Container { + + private TileEntityMachineReactor diFurnace; + private int dualCookTime; + private int dualPower; + private int lastItemBurnTime; + + public ContainerReactor(InventoryPlayer invPlayer, TileEntityMachineReactor tedf) { + dualCookTime = 0; + dualPower = 0; + lastItemBurnTime = 0; + + diFurnace = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 56, 53)); + this.addSlotToContainer(new Slot(tedf, 1, 56, 17)); + this.addSlotToContainer(new SlotDiFurnace(invPlayer.player, tedf, 2, 116, 35)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public void addCraftingToCrafters(ICrafting crafting) { + super.addCraftingToCrafters(crafting); + crafting.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); + crafting.sendProgressBarUpdate(this, 1, this.diFurnace.dualPower); + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return diFurnace.isUseableByPlayer(player); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.dualCookTime != this.diFurnace.dualCookTime) + { + par1.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); + } + + if(this.dualPower != this.diFurnace.dualPower) + { + par1.sendProgressBarUpdate(this, 1, this.diFurnace.dualPower); + } + } + + this.dualCookTime = this.diFurnace.dualCookTime; + this.dualPower = this.diFurnace.dualPower; + } + + public void updateProgressBar(int i, int j) { + if(i == 0) + { + diFurnace.dualCookTime = j; + } + if(i == 1) + { + diFurnace.dualPower = j; + } + } + +} diff --git a/com/hbm/gui/ContainerRtgFurnace.java b/com/hbm/gui/ContainerRtgFurnace.java new file mode 100644 index 000000000..e9f8f9af5 --- /dev/null +++ b/com/hbm/gui/ContainerRtgFurnace.java @@ -0,0 +1,82 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityNukeFurnace; +import com.hbm.blocks.TileEntityRtgFurnace; + +public class ContainerRtgFurnace extends Container { + + private TileEntityRtgFurnace diFurnace; + private int dualCookTime; + private int lastItemBurnTime; + + public ContainerRtgFurnace(InventoryPlayer invPlayer, TileEntityRtgFurnace tedf) { + dualCookTime = 0; + lastItemBurnTime = 0; + + diFurnace = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 56, 17)); + this.addSlotToContainer(new Slot(tedf, 1, 38, 53)); + this.addSlotToContainer(new Slot(tedf, 2, 56, 53)); + this.addSlotToContainer(new Slot(tedf, 3, 74, 53)); + this.addSlotToContainer(new SlotDiFurnace(invPlayer.player, tedf, 4, 116, 35)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public void addCraftingToCrafters(ICrafting crafting) { + super.addCraftingToCrafters(crafting); + crafting.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return diFurnace.isUseableByPlayer(player); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.dualCookTime != this.diFurnace.dualCookTime) + { + par1.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); + } + } + + this.dualCookTime = this.diFurnace.dualCookTime; + } + + public void updateProgressBar(int i, int j) { + if(i == 0) + { + diFurnace.dualCookTime = j; + } + } +} diff --git a/com/hbm/gui/ContainerTestNuke.java b/com/hbm/gui/ContainerTestNuke.java new file mode 100644 index 000000000..2b5d2831c --- /dev/null +++ b/com/hbm/gui/ContainerTestNuke.java @@ -0,0 +1,52 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.tileentity.TileEntityFurnace; + +import com.hbm.blocks.TileEntityDiFurnace; +import com.hbm.blocks.TileEntityTestNuke; + +public class ContainerTestNuke extends Container { + + private TileEntityTestNuke testNuke; + + public ContainerTestNuke(InventoryPlayer invPlayer, TileEntityTestNuke tedf) { + + testNuke = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 26, 36)); + this.addSlotToContainer(new Slot(tedf, 1, 44, 36)); + this.addSlotToContainer(new Slot(tedf, 2, 62, 36)); + this.addSlotToContainer(new Slot(tedf, 3, 80, 36)); + this.addSlotToContainer(new Slot(tedf, 4, 98, 36)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return testNuke.isUseableByPlayer(player); + } + +} diff --git a/com/hbm/gui/ContainerUF6Tank.java b/com/hbm/gui/ContainerUF6Tank.java new file mode 100644 index 000000000..306548aef --- /dev/null +++ b/com/hbm/gui/ContainerUF6Tank.java @@ -0,0 +1,80 @@ +package com.hbm.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import com.hbm.blocks.TileEntityMachineUF6Tank; +import com.hbm.blocks.TileEntityTestNuke; + +public class ContainerUF6Tank extends Container { + + private TileEntityMachineUF6Tank testNuke; + private int fillState; + + public ContainerUF6Tank(InventoryPlayer invPlayer, TileEntityMachineUF6Tank tedf) { + fillState = 0; + + testNuke = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 44, 17)); + this.addSlotToContainer(new SlotDiFurnace(invPlayer.player, tedf, 1, 44, 53)); + this.addSlotToContainer(new Slot(tedf, 2, 116, 17)); + this.addSlotToContainer(new SlotDiFurnace(invPlayer.player, tedf, 3, 116, 53)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + public void addCraftingToCrafters(ICrafting crafting) { + super.addCraftingToCrafters(crafting); + crafting.sendProgressBarUpdate(this, 0, this.testNuke.fillState); + } + + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) + { + return null; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return testNuke.isUseableByPlayer(player); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.fillState != this.testNuke.fillState) + { + par1.sendProgressBarUpdate(this, 0, this.testNuke.fillState); + } + } + + this.fillState = this.testNuke.fillState; + } + + public void updateProgressBar(int i, int j) { + if(i == 0) + { + testNuke.fillState = j; + } + } + +} \ No newline at end of file diff --git a/com/hbm/gui/GUIBombMulti.java b/com/hbm/gui/GUIBombMulti.java new file mode 100644 index 000000000..12a2c13a7 --- /dev/null +++ b/com/hbm/gui/GUIBombMulti.java @@ -0,0 +1,64 @@ +package com.hbm.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityBombMulti; +import com.hbm.blocks.TileEntityNukeGadget; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.util.ResourceLocation; + +public class GUIBombMulti extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/bombGeneric.png"); + private TileEntityBombMulti testNuke; + + public GUIBombMulti(InventoryPlayer invPlayer, TileEntityBombMulti tedf) { + super(new ContainerBombMulti(invPlayer, tedf)); + testNuke = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.testNuke.hasCustomInventoryName() ? this.testNuke.getInventoryName() : I18n.format(this.testNuke.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(testNuke.return2type() == testNuke.return5type()) + switch(testNuke.return2type()) + { + case 1: + drawTexturedModalRect(guiLeft + 124, guiTop + 34, 176, 0 * 18, 18, 18); break; + case 2: + drawTexturedModalRect(guiLeft + 124, guiTop + 34, 176, 1 * 18, 18, 18); break; + case 3: + drawTexturedModalRect(guiLeft + 124, guiTop + 34, 176, 2 * 18, 18, 18); break; + case 4: + drawTexturedModalRect(guiLeft + 124, guiTop + 34, 176, 3 * 18, 18, 18); break; + case 5: + drawTexturedModalRect(guiLeft + 124, guiTop + 34, 176, 4 * 18, 18, 18); break; + case 6: + drawTexturedModalRect(guiLeft + 124, guiTop + 34, 176, 5 * 18, 18, 18); break; + } + + if(testNuke.return2type() != testNuke.return5type()) + { + drawTexturedModalRect(guiLeft + 124, guiTop + 34, 176, 7 * 18, 18, 18); + } + } +} diff --git a/com/hbm/gui/GUILaunchPadTier1.java b/com/hbm/gui/GUILaunchPadTier1.java new file mode 100644 index 000000000..0575b4b84 --- /dev/null +++ b/com/hbm/gui/GUILaunchPadTier1.java @@ -0,0 +1,44 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityLaunchPad; +import com.hbm.blocks.TileEntityMachineBattery; +import com.hbm.lib.RefStrings; + +public class GUILaunchPadTier1 extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_launch_pad.png"); + private TileEntityLaunchPad diFurnace; + + public GUILaunchPadTier1(InventoryPlayer invPlayer, TileEntityLaunchPad tedf) { + super(new ContainerLaunchPadTier1(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int j1 = diFurnace.getPowerScaled(160); + drawTexturedModalRect(guiLeft + 8, guiTop + 53, 8, 166, j1, 16); + } +} diff --git a/com/hbm/gui/GUIMachineBattery.java b/com/hbm/gui/GUIMachineBattery.java new file mode 100644 index 000000000..f643ad48a --- /dev/null +++ b/com/hbm/gui/GUIMachineBattery.java @@ -0,0 +1,46 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityMachineBattery; +import com.hbm.blocks.TileEntityMachineElectricFurnace; +import com.hbm.lib.RefStrings; + +public class GUIMachineBattery extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_battery.png"); + private TileEntityMachineBattery diFurnace; + + public GUIMachineBattery(InventoryPlayer invPlayer, TileEntityMachineBattery tedf) { + super(new ContainerMachineBattery(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(diFurnace.power > 0) { + int i = diFurnace.getPowerRemainingScaled(52); + drawTexturedModalRect(guiLeft + 62, guiTop + 69 - i, 176, 52 - i, 52, i); + } + } +} diff --git a/com/hbm/gui/GUIMachineCentrifuge.java b/com/hbm/gui/GUIMachineCentrifuge.java new file mode 100644 index 000000000..b9a971f8a --- /dev/null +++ b/com/hbm/gui/GUIMachineCentrifuge.java @@ -0,0 +1,55 @@ +package com.hbm.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityMachineCentrifuge; +import com.hbm.blocks.TileEntityNukeBoy; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.util.ResourceLocation; + +public class GUIMachineCentrifuge extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/centrifuge.png"); + private TileEntityMachineCentrifuge centrifuge; + + public GUIMachineCentrifuge(InventoryPlayer invPlayer, TileEntityMachineCentrifuge tedf) { + super(new ContainerCentrifuge(invPlayer, tedf)); + centrifuge = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.centrifuge.hasCustomInventoryName() ? this.centrifuge.getInventoryName() : I18n.format(this.centrifuge.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(centrifuge.hasPower()) + { + int i1 = centrifuge.getPowerRemainingScaled(54); + drawTexturedModalRect(guiLeft + 8, guiTop + 69 - i1, 177, 107 - i1, 16, i1); + } + + int j1 = centrifuge.getCentrifugeProgressScaled(55); + drawTexturedModalRect(guiLeft + 61, guiTop + 16, 176, 0, j1, 54); + + if(centrifuge.hasPower() && centrifuge.canProcess()) { + drawTexturedModalRect(guiLeft + 25, guiTop + 34, 194, 54, 18, 18); + } + } +} diff --git a/com/hbm/gui/GUIMachineCoal.java b/com/hbm/gui/GUIMachineCoal.java new file mode 100644 index 000000000..e60a728d1 --- /dev/null +++ b/com/hbm/gui/GUIMachineCoal.java @@ -0,0 +1,57 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityMachineCoal; +import com.hbm.blocks.TileEntityMachineElectricFurnace; +import com.hbm.lib.RefStrings; + +public class GUIMachineCoal extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/GUICoal.png"); + private TileEntityMachineCoal diFurnace; + + public GUIMachineCoal(InventoryPlayer invPlayer, TileEntityMachineCoal tedf) { + super(new ContainerMachineCoal(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(diFurnace.power > 0) { + int i = diFurnace.getPowerScaled(52); + drawTexturedModalRect(guiLeft + 152, guiTop + 69 - i, 176, 52 - i, 16, i); + } + + if(diFurnace.burnTime > 0) + { + drawTexturedModalRect(guiLeft + 79, guiTop + 34, 208, 0, 18, 18); + } + + if(diFurnace.water > 0) + { + int j = diFurnace.getWaterScaled(52); + drawTexturedModalRect(guiLeft + 8, guiTop + 69 - j, 192, 52 - j, 16, j); + } + } +} diff --git a/com/hbm/gui/GUIMachineDeuterium.java b/com/hbm/gui/GUIMachineDeuterium.java new file mode 100644 index 000000000..d5d016973 --- /dev/null +++ b/com/hbm/gui/GUIMachineDeuterium.java @@ -0,0 +1,64 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityMachineDeuterium; +import com.hbm.blocks.TileEntityMachineReactor; +import com.hbm.lib.RefStrings; + +public class GUIMachineDeuterium extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_deuterium.png"); + private TileEntityMachineDeuterium diFurnace; + + public GUIMachineDeuterium(InventoryPlayer invPlayer, TileEntityMachineDeuterium tedf) { + super(new ContainerMachineDeuterium(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 222; + } + + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(diFurnace.water > 0) { + int i = diFurnace.getWaterScaled(52); + drawTexturedModalRect(guiLeft + 26, guiTop + 88 - i, 192, 52 - i, 16, i); + } + + if(diFurnace.sulfur > 0) { + int i = diFurnace.getSulfurScaled(52); + drawTexturedModalRect(guiLeft + 44, guiTop + 88 - i, 208, 52 - i, 16, i); + } + + if(diFurnace.power > 0) { + int i = diFurnace.getPowerScaled(52); + drawTexturedModalRect(guiLeft + 8, guiTop + 88 - i, 176, 52 - i, 16, i); + } + + int j1 = diFurnace.getProgressScaled(24); + drawTexturedModalRect(guiLeft + 103, guiTop + 53, 224, 14, j1 + 1, 17); + + if(diFurnace.canProcess()) + { + drawTexturedModalRect(guiLeft + 81, guiTop + 73, 224, 0, 14, 14); + } + } +} diff --git a/com/hbm/gui/GUIMachineElectricFurnace.java b/com/hbm/gui/GUIMachineElectricFurnace.java new file mode 100644 index 000000000..116976a02 --- /dev/null +++ b/com/hbm/gui/GUIMachineElectricFurnace.java @@ -0,0 +1,55 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityMachineElectricFurnace; +import com.hbm.blocks.TileEntityNukeFurnace; +import com.hbm.lib.RefStrings; + +public class GUIMachineElectricFurnace extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/GUIElectricFurnace.png"); + private TileEntityMachineElectricFurnace diFurnace; + + public GUIMachineElectricFurnace(InventoryPlayer invPlayer, TileEntityMachineElectricFurnace tedf) { + super(new ContainerElectricFurnace(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(diFurnace.hasPower()) { + int i = diFurnace.getPowerRemainingScaled(52); + drawTexturedModalRect(guiLeft + 20, guiTop + 69 - i, 200, 52 - i, 16, i); + } + + if(diFurnace.canProcess() && diFurnace.hasPower()) + { + drawTexturedModalRect(guiLeft + 56, guiTop + 36, 176, 0, 15, 16); + } + + int j1 = diFurnace.getDiFurnaceProgressScaled(24); + drawTexturedModalRect(guiLeft + 79, guiTop + 34, 176, 14, j1 + 1, 17); + } + +} diff --git a/com/hbm/gui/GUIMachineGenerator.java b/com/hbm/gui/GUIMachineGenerator.java new file mode 100644 index 000000000..3f43ce103 --- /dev/null +++ b/com/hbm/gui/GUIMachineGenerator.java @@ -0,0 +1,61 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityMachineGenerator; +import com.hbm.blocks.TileEntityMachineReactor; +import com.hbm.lib.RefStrings; + +public class GUIMachineGenerator extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_generator.png"); + private TileEntityMachineGenerator diFurnace; + + public GUIMachineGenerator(InventoryPlayer invPlayer, TileEntityMachineGenerator tedf) { + super(new ContainerGenerator(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 222; + } + + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(diFurnace.hasWater()) { + int i = diFurnace.getWaterScaled(52); + drawTexturedModalRect(guiLeft + 8, guiTop + 88 - i, 176, 52 - i, 16, i); + } + + if(diFurnace.hasCoolant()) { + int i = diFurnace.getCoolantScaled(52); + drawTexturedModalRect(guiLeft + 26, guiTop + 88 - i, 192, 52 - i, 16, i); + } + + if(diFurnace.hasPower()) { + int i = diFurnace.getPowerScaled(52); + drawTexturedModalRect(guiLeft + 62, guiTop + 88 - i, 224, 52 - i, 16, i); + } + + if(diFurnace.hasHeat()) { + int i = diFurnace.getHeatScaled(52); + drawTexturedModalRect(guiLeft + 98, guiTop + 88 - i, 208, 52 - i, 16, i); + } + } +} diff --git a/com/hbm/gui/GUIMachinePuF6Tank.java b/com/hbm/gui/GUIMachinePuF6Tank.java new file mode 100644 index 000000000..40f7ab806 --- /dev/null +++ b/com/hbm/gui/GUIMachinePuF6Tank.java @@ -0,0 +1,50 @@ +package com.hbm.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityMachineCentrifuge; +import com.hbm.blocks.TileEntityMachinePuF6Tank; +import com.hbm.blocks.TileEntityMachineUF6Tank; +import com.hbm.blocks.TileEntityNukeBoy; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.util.ResourceLocation; + +public class GUIMachinePuF6Tank extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/puf6Tank.png"); + private TileEntityMachinePuF6Tank tank; + + public GUIMachinePuF6Tank(InventoryPlayer invPlayer, TileEntityMachinePuF6Tank tedf) { + super(new ContainerPuF6Tank(invPlayer, tedf)); + tank = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.tank.hasCustomInventoryName() ? this.tank.getInventoryName() : I18n.format(this.tank.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(tank.fillState > 0) + { + int i1 = tank.getFillStateScaled(52); + drawTexturedModalRect(guiLeft + 80, guiTop + 69 - i1, 177, 52 - i1, 16, i1); + } + } +} diff --git a/com/hbm/gui/GUIMachineReactor.java b/com/hbm/gui/GUIMachineReactor.java new file mode 100644 index 000000000..6bc37b291 --- /dev/null +++ b/com/hbm/gui/GUIMachineReactor.java @@ -0,0 +1,51 @@ +package com.hbm.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityDiFurnace; +import com.hbm.blocks.TileEntityMachineReactor; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.util.ResourceLocation; + +public class GUIMachineReactor extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/GUIReactor.png"); + private TileEntityMachineReactor diFurnace; + + public GUIMachineReactor(InventoryPlayer invPlayer, TileEntityMachineReactor tedf) { + super(new ContainerReactor(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(diFurnace.hasPower()) + { + drawTexturedModalRect(guiLeft + 55, guiTop + 35, 176, 0, 18, 16); + } + + int j1 = diFurnace.getDiFurnaceProgressScaled(24); + drawTexturedModalRect(guiLeft + 79, guiTop + 34, 176, 16, j1 + 1, 17); + } + +} \ No newline at end of file diff --git a/com/hbm/gui/GUIMachineUF6Tank.java b/com/hbm/gui/GUIMachineUF6Tank.java new file mode 100644 index 000000000..6d90af597 --- /dev/null +++ b/com/hbm/gui/GUIMachineUF6Tank.java @@ -0,0 +1,49 @@ +package com.hbm.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityMachineCentrifuge; +import com.hbm.blocks.TileEntityMachineUF6Tank; +import com.hbm.blocks.TileEntityNukeBoy; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.util.ResourceLocation; + +public class GUIMachineUF6Tank extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/uf6Tank.png"); + private TileEntityMachineUF6Tank tank; + + public GUIMachineUF6Tank(InventoryPlayer invPlayer, TileEntityMachineUF6Tank tedf) { + super(new ContainerUF6Tank(invPlayer, tedf)); + tank = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.tank.hasCustomInventoryName() ? this.tank.getInventoryName() : I18n.format(this.tank.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(tank.fillState > 0) + { + int i1 = tank.getFillStateScaled(52); + drawTexturedModalRect(guiLeft + 80, guiTop + 69 - i1, 177, 52 - i1, 16, i1); + } + } +} diff --git a/com/hbm/gui/GUINukeBoy.java b/com/hbm/gui/GUINukeBoy.java new file mode 100644 index 000000000..d3662f701 --- /dev/null +++ b/com/hbm/gui/GUINukeBoy.java @@ -0,0 +1,48 @@ +package com.hbm.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityNukeBoy; +import com.hbm.blocks.TileEntityNukeGadget; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.util.ResourceLocation; + +public class GUINukeBoy extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/lilBoySchematic.png"); + private TileEntityNukeBoy testNuke; + + public GUINukeBoy(InventoryPlayer invPlayer, TileEntityNukeBoy tedf) { + super(new ContainerNukeBoy(invPlayer, tedf)); + testNuke = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.testNuke.hasCustomInventoryName() ? this.testNuke.getInventoryName() : I18n.format(this.testNuke.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(testNuke.isReady()) + { + drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 0, 16, 16); + } + } + +} diff --git a/com/hbm/gui/GUINukeFleija.java b/com/hbm/gui/GUINukeFleija.java new file mode 100644 index 000000000..20b9f46f8 --- /dev/null +++ b/com/hbm/gui/GUINukeFleija.java @@ -0,0 +1,96 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityNukeFleija; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; + +public class GUINukeFleija extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/fleijaSchematic.png"); + private TileEntityNukeFleija testNuke; + + public GUINukeFleija(InventoryPlayer invPlayer, TileEntityNukeFleija tedf) { + super(new ContainerNukeFleija(invPlayer, tedf)); + testNuke = tedf; + + this.xSize = 176; + this.ySize = 222; + } + + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.testNuke.hasCustomInventoryName() ? this.testNuke.getInventoryName() : I18n.format(this.testNuke.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(this.testNuke.slots[0] != null && this.testNuke.slots[0].getItem() == ModItems.fleija_igniter) + { + drawTexturedModalRect(guiLeft + 7, guiTop + 88, 176, 0, 30, 20); + } + + if(this.testNuke.slots[1] != null && this.testNuke.slots[1].getItem() == ModItems.fleija_igniter) + { + drawTexturedModalRect(guiLeft + 139, guiTop + 88, 206, 0, 30, 20); + } + + if(this.testNuke.slots[2] != null && this.testNuke.slots[2].getItem() == ModItems.fleija_propellant) + { + drawTexturedModalRect(guiLeft + 57, guiTop + 77, 176, 62, 18, 14); + } + + if(this.testNuke.slots[3] != null && this.testNuke.slots[3].getItem() == ModItems.fleija_propellant) + { + drawTexturedModalRect(guiLeft + 57, guiTop + 91, 176, 76, 18, 14); + } + + if(this.testNuke.slots[4] != null && this.testNuke.slots[4].getItem() == ModItems.fleija_propellant) + { + drawTexturedModalRect(guiLeft + 57, guiTop + 105, 176, 90, 18, 14); + } + + if(this.testNuke.slots[5] != null && this.testNuke.slots[5].getItem() == ModItems.fleija_core) + { + drawTexturedModalRect(guiLeft + 85, guiTop + 77, 176, 20, 18, 15); + } + + if(this.testNuke.slots[6] != null && this.testNuke.slots[6].getItem() == ModItems.fleija_core) + { + drawTexturedModalRect(guiLeft + 103, guiTop + 77, 194, 20, 18, 15); + } + + if(this.testNuke.slots[7] != null && this.testNuke.slots[7].getItem() == ModItems.fleija_core) + { + drawTexturedModalRect(guiLeft + 85, guiTop + 92, 176, 35, 18, 12); + } + + if(this.testNuke.slots[8] != null && this.testNuke.slots[8].getItem() == ModItems.fleija_core) + { + drawTexturedModalRect(guiLeft + 103, guiTop + 92, 194, 35, 18, 12); + } + + if(this.testNuke.slots[9] != null && this.testNuke.slots[9].getItem() == ModItems.fleija_core) + { + drawTexturedModalRect(guiLeft + 85, guiTop + 104, 176, 47, 18, 15); + } + + if(this.testNuke.slots[10] != null && this.testNuke.slots[10].getItem() == ModItems.fleija_core) + { + drawTexturedModalRect(guiLeft + 103, guiTop + 104, 194, 47, 18, 15); + } + } +} diff --git a/com/hbm/gui/GUINukeFurnace.java b/com/hbm/gui/GUINukeFurnace.java new file mode 100644 index 000000000..37a9fc8f6 --- /dev/null +++ b/com/hbm/gui/GUINukeFurnace.java @@ -0,0 +1,49 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityMachineReactor; +import com.hbm.blocks.TileEntityNukeFurnace; +import com.hbm.lib.RefStrings; + +public class GUINukeFurnace extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/GUIReactor.png"); + private TileEntityNukeFurnace diFurnace; + + public GUINukeFurnace(InventoryPlayer invPlayer, TileEntityNukeFurnace tedf) { + super(new ContainerNukeFurnace(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(diFurnace.hasPower()) + { + drawTexturedModalRect(guiLeft + 55, guiTop + 35, 176, 0, 18, 16); + } + + int j1 = diFurnace.getDiFurnaceProgressScaled(24); + drawTexturedModalRect(guiLeft + 79, guiTop + 34, 176, 16, j1 + 1, 17); + } +} diff --git a/com/hbm/gui/GUINukeGadget.java b/com/hbm/gui/GUINukeGadget.java new file mode 100644 index 000000000..3553545a2 --- /dev/null +++ b/com/hbm/gui/GUINukeGadget.java @@ -0,0 +1,66 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityNukeGadget; +import com.hbm.blocks.TileEntityTestNuke; +import com.hbm.lib.RefStrings; + +public class GUINukeGadget extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gadgetSchematic.png"); + private TileEntityNukeGadget testNuke; + + public GUINukeGadget(InventoryPlayer invPlayer, TileEntityNukeGadget tedf) { + super(new ContainerNukeGadget(invPlayer, tedf)); + testNuke = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.testNuke.hasCustomInventoryName() ? this.testNuke.getInventoryName() : I18n.format(this.testNuke.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(testNuke.exp1()) + { + drawTexturedModalRect(guiLeft + 82, guiTop + 19, 176, 0, 24, 24); + } + + if(testNuke.exp2()) + { + drawTexturedModalRect(guiLeft + 106, guiTop + 19, 200, 0, 24, 24); + } + + if(testNuke.exp3()) + { + drawTexturedModalRect(guiLeft + 82, guiTop + 43, 176, 24, 24, 24); + } + + if(testNuke.exp4()) + { + drawTexturedModalRect(guiLeft + 106, guiTop + 43, 200, 24, 24, 24); + } + + if(testNuke.isReady()) + { + drawTexturedModalRect(guiLeft + 134, guiTop + 35, 176, 48, 16, 16); + } + } +} diff --git a/com/hbm/gui/GUINukeMan.java b/com/hbm/gui/GUINukeMan.java new file mode 100644 index 000000000..8e3e10826 --- /dev/null +++ b/com/hbm/gui/GUINukeMan.java @@ -0,0 +1,67 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityNukeGadget; +import com.hbm.blocks.TileEntityNukeMan; +import com.hbm.blocks.TileEntityTestNuke; +import com.hbm.lib.RefStrings; + +public class GUINukeMan extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/fatManSchematic.png"); + private TileEntityNukeMan testNuke; + + public GUINukeMan(InventoryPlayer invPlayer, TileEntityNukeMan tedf) { + super(new ContainerNukeMan(invPlayer, tedf)); + testNuke = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.testNuke.hasCustomInventoryName() ? this.testNuke.getInventoryName() : I18n.format(this.testNuke.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(testNuke.exp1()) + { + drawTexturedModalRect(guiLeft + 82, guiTop + 19, 176, 0, 24, 24); + } + + if(testNuke.exp2()) + { + drawTexturedModalRect(guiLeft + 106, guiTop + 19, 200, 0, 24, 24); + } + + if(testNuke.exp3()) + { + drawTexturedModalRect(guiLeft + 82, guiTop + 43, 176, 24, 24, 24); + } + + if(testNuke.exp4()) + { + drawTexturedModalRect(guiLeft + 106, guiTop + 43, 200, 24, 24, 24); + } + + if(testNuke.isReady()) + { + drawTexturedModalRect(guiLeft + 134, guiTop + 35, 176, 48, 16, 16); + } + } +} diff --git a/com/hbm/gui/GUINukeMike.java b/com/hbm/gui/GUINukeMike.java new file mode 100644 index 000000000..a6886ca8c --- /dev/null +++ b/com/hbm/gui/GUINukeMike.java @@ -0,0 +1,52 @@ +package com.hbm.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityNukeMan; +import com.hbm.blocks.TileEntityNukeMike; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUINukeMike extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/ivyMikeSchematic.png"); + private TileEntityNukeMike testNuke; + + public GUINukeMike(InventoryPlayer invPlayer, TileEntityNukeMike tedf) { + super(new ContainerNukeMike(invPlayer, tedf)); + testNuke = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.testNuke.hasCustomInventoryName() ? this.testNuke.getInventoryName() : I18n.format(this.testNuke.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(testNuke.isReady() && !testNuke.isFilled()) + { + drawTexturedModalRect(guiLeft + 142, guiTop + 34, 176, 0, 18, 18); + } + + if(testNuke.isReady() && testNuke.isFilled()) + { + drawTexturedModalRect(guiLeft + 142, guiTop + 34, 176, 18, 18, 18); + } + } + +} diff --git a/com/hbm/gui/GUINukePrototype.java b/com/hbm/gui/GUINukePrototype.java new file mode 100644 index 000000000..043d751d5 --- /dev/null +++ b/com/hbm/gui/GUINukePrototype.java @@ -0,0 +1,42 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityNukeFleija; +import com.hbm.blocks.TileEntityNukePrototype; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; + +public class GUINukePrototype extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_prototype.png"); + private TileEntityNukePrototype testNuke; + + public GUINukePrototype(InventoryPlayer invPlayer, TileEntityNukePrototype tedf) { + super(new ContainerNukePrototype(invPlayer, tedf)); + testNuke = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.testNuke.hasCustomInventoryName() ? this.testNuke.getInventoryName() : I18n.format(this.testNuke.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + } +} diff --git a/com/hbm/gui/GUINukeTsar.java b/com/hbm/gui/GUINukeTsar.java new file mode 100644 index 000000000..daa8b6cea --- /dev/null +++ b/com/hbm/gui/GUINukeTsar.java @@ -0,0 +1,51 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityNukeMan; +import com.hbm.blocks.TileEntityNukeTsar; +import com.hbm.lib.RefStrings; + +public class GUINukeTsar extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/tsarBombaSchematic.png"); + private TileEntityNukeTsar testNuke; + + public GUINukeTsar(InventoryPlayer invPlayer, TileEntityNukeTsar tedf) { + super(new ContainerNukeTsar(invPlayer, tedf)); + testNuke = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.testNuke.hasCustomInventoryName() ? this.testNuke.getInventoryName() : I18n.format(this.testNuke.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(testNuke.isReady()) + { + drawTexturedModalRect(guiLeft + 133, guiTop + 34, 176, 0, 16, 16); + } + + if(testNuke.isFilled()) + { + drawTexturedModalRect(guiLeft + 133, guiTop + 34, 176, 18, 16, 16); + } + } +} diff --git a/com/hbm/gui/GUIRtgFurnace.java b/com/hbm/gui/GUIRtgFurnace.java new file mode 100644 index 000000000..6f8dc5a53 --- /dev/null +++ b/com/hbm/gui/GUIRtgFurnace.java @@ -0,0 +1,48 @@ +package com.hbm.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityRtgFurnace; +import com.hbm.lib.RefStrings; + +public class GUIRtgFurnace extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/RTGfurnace.png"); + private TileEntityRtgFurnace diFurnace; + + public GUIRtgFurnace(InventoryPlayer invPlayer, TileEntityRtgFurnace tedf) { + super(new ContainerRtgFurnace(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(diFurnace.hasPower()) + { + drawTexturedModalRect(guiLeft + 55, guiTop + 35, 176, 0, 18, 16); + } + + int j1 = diFurnace.getDiFurnaceProgressScaled(24); + drawTexturedModalRect(guiLeft + 79, guiTop + 34, 176, 16, j1 + 1, 17); + } +} diff --git a/com/hbm/gui/GUITestDiFurnace.java b/com/hbm/gui/GUITestDiFurnace.java new file mode 100644 index 000000000..47d15e704 --- /dev/null +++ b/com/hbm/gui/GUITestDiFurnace.java @@ -0,0 +1,55 @@ +package com.hbm.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityDiFurnace; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.util.ResourceLocation; + +public class GUITestDiFurnace extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/GUIDiFurnace.png"); + private TileEntityDiFurnace diFurnace; + + public GUITestDiFurnace(InventoryPlayer invPlayer, TileEntityDiFurnace tedf) { + super(new ContainerDiFurnace(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(diFurnace.hasPower()) + { + int i1 = diFurnace.getPowerRemainingScaled(56); + drawTexturedModalRect(guiLeft + 44, guiTop + 70 - i1, 201, 53 - i1, 16, i1); + } + + int j1 = diFurnace.getDiFurnaceProgressScaled(24); + drawTexturedModalRect(guiLeft + 101, guiTop + 35, 176, 14, j1 + 1, 17); + + if(diFurnace.hasPower() && diFurnace.canProcess()) { + drawTexturedModalRect(guiLeft + 63, guiTop + 37, 176, 0, 14, 14); + } + } + +} diff --git a/com/hbm/gui/GUITestNuke.java b/com/hbm/gui/GUITestNuke.java new file mode 100644 index 000000000..0d2be0826 --- /dev/null +++ b/com/hbm/gui/GUITestNuke.java @@ -0,0 +1,69 @@ +package com.hbm.gui; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +import com.hbm.blocks.TileEntityDiFurnace; +import com.hbm.blocks.TileEntityTestNuke; +import com.hbm.lib.RefStrings; + +public class GUITestNuke extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gunBombSchematicSmall.png"); + private TileEntityTestNuke testNuke; + + public GUITestNuke(InventoryPlayer invPlayer, TileEntityTestNuke tedf) { + super(new ContainerTestNuke(invPlayer, tedf)); + testNuke = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.testNuke.hasCustomInventoryName() ? this.testNuke.getInventoryName() : I18n.format(this.testNuke.getInventoryName()); + + 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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + switch(testNuke.getNukeTier()) + { + case 0: + drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 0, 16, 16); break; + case 1: + drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 16, 16, 16); break; + case 2: + drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 32, 16, 16); break; + case 3: + drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 48, 16, 16); break; + case 4: + drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 64, 16, 16); break; + case 5: + drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 80, 16, 16); break; + case 6: + drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 96, 16, 16); break; + case 7: + drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 112, 16, 16); break; + case 8: + drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 128, 16, 16); break; + case 9: + drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 144, 16, 16); break; + case 999: + drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 160, 16, 16); break; + default: + } + } + +} diff --git a/com/hbm/gui/MachineRecipes.java b/com/hbm/gui/MachineRecipes.java new file mode 100644 index 000000000..20920e47e --- /dev/null +++ b/com/hbm/gui/MachineRecipes.java @@ -0,0 +1,301 @@ +package com.hbm.gui; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class MachineRecipes { + + public MachineRecipes() { + + } + + public static ItemStack getFurnaceProcessingResult(Item item, Item item2) { + return getFurnaceOutput(item ,item2); + } + + public static ItemStack getFurnaceOutput(Item item, Item item2) { + if(item == Items.iron_ingot && item2 == Items.quartz || item == Items.quartz && item2 == Items.iron_ingot) { + return new ItemStack(ModBlocks.test_render, 1); + } + + + if(item == ModItems.ingot_tungsten && item2 == Items.coal || item == Items.coal && item2 == ModItems.ingot_tungsten) { + return new ItemStack(ModItems.neutron_reflector, 1); + } + + + if(item == ModItems.ingot_lead && item2 == ModItems.ingot_copper || item == ModItems.ingot_copper && item2 == ModItems.ingot_lead) { + return new ItemStack(ModItems.neutron_reflector, 2); + } + + + if(item == ModItems.plate_lead && item2 == ModItems.ingot_copper || item == ModItems.ingot_copper && item2 == ModItems.plate_lead) { + return new ItemStack(ModItems.neutron_reflector, 1); + } + + + if(item == Items.iron_ingot && item2 == Items.coal || item == Items.coal && item2 == Items.iron_ingot) { + return new ItemStack(ModItems.ingot_steel, 2); + } + + + if(item == ModItems.ingot_copper && item2 == Items.redstone || item == Items.redstone && item2 == ModItems.ingot_copper) { + return new ItemStack(ModItems.ingot_red_copper, 1); + } + + return null; + } + + //Arrays! + + public static ItemStack[] getCentrifugeProcessingResult(Item item) { + return getCentrifugeOutput(item); + } + + public static ItemStack[] getCentrifugeOutput(Item item) { + + ItemStack[] uranium = new ItemStack[] {new ItemStack(ModItems.nugget_u238, 8), new ItemStack(ModItems.nugget_u235, 1), null, new ItemStack(ModItems.cell_empty, 1)}; + ItemStack[] plutonium = new ItemStack[] {new ItemStack(ModItems.nugget_pu238, 3), new ItemStack(ModItems.nugget_pu239, 1), new ItemStack(ModItems.nugget_pu240, 5), new ItemStack(ModItems.cell_empty, 1)}; + ItemStack[] test = new ItemStack[] {new ItemStack(Items.apple, 3), new ItemStack(Items.leather, 1), new ItemStack(Items.sugar, 3), new ItemStack(Items.blaze_powder, 2)}; + ItemStack[] euphemium = new ItemStack[] {new ItemStack(ModItems.nugget_euphemium, 3), null, null, new ItemStack(ModItems.rod_quad_empty, 1)}; + ItemStack[] schrabidium = new ItemStack[] {new ItemStack(ModItems.ingot_schrabidium, 1), new ItemStack(ModItems.sulfur, 2), null, new ItemStack(ModItems.cell_empty, 1)}; + + ItemStack[] uran1 = new ItemStack[] {new ItemStack(ModItems.nugget_u235, 1), new ItemStack(ModItems.nugget_u238, 3), new ItemStack(ModItems.nugget_pu239, 2), new ItemStack(ModItems.rod_waste, 1)}; + ItemStack[] uran2 = new ItemStack[] {new ItemStack(ModItems.nugget_u235, 2), new ItemStack(ModItems.nugget_u238, 6), new ItemStack(ModItems.nugget_pu239, 4), new ItemStack(ModItems.rod_dual_waste, 1)}; + ItemStack[] uran3 = new ItemStack[] {new ItemStack(ModItems.nugget_u235, 4), new ItemStack(ModItems.nugget_u238, 12), new ItemStack(ModItems.nugget_pu239, 8), new ItemStack(ModItems.rod_quad_waste, 1)}; + ItemStack[] plutonium1 = new ItemStack[] {new ItemStack(ModItems.nugget_pu239, 1), new ItemStack(ModItems.nugget_pu240, 3), new ItemStack(ModItems.nugget_lead, 2), new ItemStack(ModItems.rod_waste, 1)}; + ItemStack[] plutonium2 = new ItemStack[] {new ItemStack(ModItems.nugget_pu239, 2), new ItemStack(ModItems.nugget_pu240, 6), new ItemStack(ModItems.nugget_lead, 4), new ItemStack(ModItems.rod_dual_waste, 1)}; + ItemStack[] plutonium3 = new ItemStack[] {new ItemStack(ModItems.nugget_pu239, 4), new ItemStack(ModItems.nugget_pu240, 12), new ItemStack(ModItems.nugget_lead, 8), new ItemStack(ModItems.rod_quad_waste, 1)}; + ItemStack[] mox1 = new ItemStack[] {new ItemStack(ModItems.nugget_mox_fuel, 1), new ItemStack(ModItems.nugget_neptunium, 3), new ItemStack(ModItems.nugget_u238, 2), new ItemStack(ModItems.rod_waste, 1)}; + ItemStack[] mox2 = new ItemStack[] {new ItemStack(ModItems.nugget_mox_fuel, 2), new ItemStack(ModItems.nugget_neptunium, 6), new ItemStack(ModItems.nugget_u238, 4), new ItemStack(ModItems.rod_dual_waste, 1)}; + ItemStack[] mox3 = new ItemStack[] {new ItemStack(ModItems.nugget_mox_fuel, 4), new ItemStack(ModItems.nugget_neptunium, 12), new ItemStack(ModItems.nugget_u238, 8), new ItemStack(ModItems.rod_quad_waste, 1)}; + ItemStack[] schrabidium1 = new ItemStack[] {new ItemStack(ModItems.nugget_schrabidium_fuel, 1), new ItemStack(ModItems.nugget_lead, 3), new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.rod_waste, 1)}; + ItemStack[] schrabidium2 = new ItemStack[] {new ItemStack(ModItems.nugget_schrabidium_fuel, 2), new ItemStack(ModItems.nugget_lead, 6), new ItemStack(ModItems.nugget_schrabidium, 4), new ItemStack(ModItems.rod_dual_waste, 1)}; + ItemStack[] schrabidium3 = new ItemStack[] {new ItemStack(ModItems.nugget_schrabidium_fuel, 4), new ItemStack(ModItems.nugget_lead, 19), new ItemStack(ModItems.nugget_euphemium, 1), new ItemStack(ModItems.rod_quad_waste, 1)}; + + if(item == ModItems.cell_uf6) + { + return uranium; + } + + if(item == ModItems.cell_puf6) + { + return plutonium; + } + + if(item == Item.getItemFromBlock(ModBlocks.test_render)) + { + return test; + } + + if(item == ModItems.rod_quad_euphemium) + { + return euphemium; + } + + if(item == ModItems.cell_sas3) + { + return schrabidium; + } + + if(item == ModItems.rod_uranium_fuel_depleted) + { + return uran1; + } + + if(item == ModItems.rod_dual_uranium_fuel_depleted) + { + return uran2; + } + + if(item == ModItems.rod_quad_uranium_fuel_depleted) + { + return uran3; + } + + if(item == ModItems.rod_plutonium_fuel_depleted) + { + return plutonium1; + } + + if(item == ModItems.rod_dual_plutonium_fuel_depleted) + { + return plutonium2; + } + + if(item == ModItems.rod_quad_plutonium_fuel_depleted) + { + return plutonium3; + } + + if(item == ModItems.rod_mox_fuel_depleted) + { + return mox1; + } + + if(item == ModItems.rod_dual_mox_fuel_depleted) + { + return mox2; + } + + if(item == ModItems.rod_quad_mox_fuel_depleted) + { + return mox3; + } + + if(item == ModItems.rod_schrabidium_fuel_depleted) + { + return schrabidium1; + } + + if(item == ModItems.rod_dual_schrabidium_fuel_depleted) + { + return schrabidium2; + } + + if(item == ModItems.rod_quad_schrabidium_fuel_depleted) + { + return schrabidium3; + } + + return null; + } + + public static ItemStack getReactorProcessingResult(Item item) { + return getReactorOutput(item); + } + + public static ItemStack getReactorOutput(Item item) { + + if(item == ModItems.rod_uranium) + { + return new ItemStack(ModItems.rod_plutonium, 1); + } + + if(item == ModItems.rod_u235) + { + return new ItemStack(ModItems.rod_neptunium, 1); + } + + if(item == ModItems.rod_u238) + { + return new ItemStack(ModItems.rod_pu239, 1); + } + + if(item == ModItems.rod_neptunium) + { + return new ItemStack(ModItems.rod_pu238, 1); + } + + if(item == ModItems.rod_plutonium) + { + return new ItemStack(ModItems.rod_lead, 1); + } + + if(item == ModItems.rod_pu238) + { + return new ItemStack(ModItems.rod_pu239, 1); + } + + if(item == ModItems.rod_pu239) + { + return new ItemStack(ModItems.rod_pu240, 1); + } + + if(item == ModItems.rod_pu240) + { + return new ItemStack(ModItems.rod_lead, 1); + } + + if(item == ModItems.rod_dual_uranium) + { + return new ItemStack(ModItems.rod_dual_plutonium, 1); + } + + if(item == ModItems.rod_dual_u235) + { + return new ItemStack(ModItems.rod_dual_neptunium, 1); + } + + if(item == ModItems.rod_dual_u238) + { + return new ItemStack(ModItems.rod_dual_pu239, 1); + } + + if(item == ModItems.rod_dual_neptunium) + { + return new ItemStack(ModItems.rod_dual_pu238, 1); + } + + if(item == ModItems.rod_dual_plutonium) + { + return new ItemStack(ModItems.rod_dual_lead, 1); + } + + if(item == ModItems.rod_dual_pu238) + { + return new ItemStack(ModItems.rod_dual_pu239, 1); + } + + if(item == ModItems.rod_dual_pu239) + { + return new ItemStack(ModItems.rod_dual_pu240, 1); + } + + if(item == ModItems.rod_dual_pu240) + { + return new ItemStack(ModItems.rod_dual_lead, 1); + } + + if(item == ModItems.rod_quad_uranium) + { + return new ItemStack(ModItems.rod_quad_plutonium, 1); + } + + if(item == ModItems.rod_quad_u235) + { + return new ItemStack(ModItems.rod_quad_neptunium, 1); + } + + if(item == ModItems.rod_quad_u238) + { + return new ItemStack(ModItems.rod_quad_pu239, 1); + } + + if(item == ModItems.rod_quad_neptunium) + { + return new ItemStack(ModItems.rod_quad_pu238, 1); + } + + if(item == ModItems.rod_quad_plutonium) + { + return new ItemStack(ModItems.rod_quad_lead, 1); + } + + if(item == ModItems.rod_quad_pu238) + { + return new ItemStack(ModItems.rod_quad_pu239, 1); + } + + if(item == ModItems.rod_quad_pu239) + { + return new ItemStack(ModItems.rod_quad_pu240, 1); + } + + if(item == ModItems.rod_quad_pu240) + { + return new ItemStack(ModItems.rod_quad_lead, 1); + } + + if(item == ModItems.rod_quad_schrabidium) + { + return new ItemStack(ModItems.rod_quad_euphemium, 1); + } + + return null; + } +} diff --git a/com/hbm/gui/SlotDiFurnace.java b/com/hbm/gui/SlotDiFurnace.java new file mode 100644 index 000000000..33eb97c91 --- /dev/null +++ b/com/hbm/gui/SlotDiFurnace.java @@ -0,0 +1,20 @@ +package com.hbm.gui; + +import com.hbm.blocks.TileEntityDiFurnace; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class SlotDiFurnace extends Slot { + + public SlotDiFurnace(EntityPlayer player, IInventory inventory, int i, int j, int k) { + super(inventory, i, j, k); + } + + public boolean isItemValid(ItemStack p_75214_1_) + { + return false; + } +} diff --git a/com/hbm/items/ArmorEuphemium.java b/com/hbm/items/ArmorEuphemium.java new file mode 100644 index 000000000..377eba629 --- /dev/null +++ b/com/hbm/items/ArmorEuphemium.java @@ -0,0 +1,93 @@ +package com.hbm.items; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.ISpecialArmor; +import net.minecraftforge.common.ISpecialArmor.ArmorProperties; + +import com.hbm.lib.RefStrings; + +public class ArmorEuphemium extends ItemArmor implements ISpecialArmor { + private String [] armourTypes = new String [] {"euphemium_helmet", "euphemium_chest", "euphemium_legs", "euphemium_boots"}; + + public ArmorEuphemium(ArmorMaterial armorMaterial, int renderIndex, int armorType) { + super(armorMaterial, renderIndex, armorType); + this.setCreativeTab(null); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layer) { + if(stack.getItem().equals(ModItems.euphemium_helmet) || stack.getItem().equals(ModItems.euphemium_plate) || stack.getItem().equals(ModItems.euphemium_boots)) { + return (RefStrings.MODID + ":textures/armor/euphemium_1.png"); + } + if(stack.getItem().equals(ModItems.euphemium_legs)) { + return (RefStrings.MODID + ":textures/armor/euphemium_2.png"); + } + + else return null; + } + + @Override + public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { + //if(source == source.inFire || source == source.lava || source == source.onFire) { + return new ArmorProperties(1, 1, MathHelper.floor_double(999999999)); + //} + //return new ArmorProperties(0, 0, 0); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { + if(slot == 0) + { + return 3; + } + if(slot == 1) + { + return 8; + } + if(slot == 2) + { + return 6; + } + if(slot == 3) + { + return 3; + } + return 0; + } + + + @Override + public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { + stack.damageItem(damage * 0, entity); + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack armor) { + player.addPotionEffect(new PotionEffect(Potion.regeneration.id, 1, 127)); + player.addPotionEffect(new PotionEffect(Potion.resistance.id, 1, 127)); + player.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 1, 127)); + player.addPotionEffect(new PotionEffect(Potion.field_76443_y.id, 1, 127)); + + if(player.motionY < -0.25D) + { + player.motionY = -0.25D; + } + } + + public EnumRarity getRarity(ItemStack p_77613_1_) { + + return EnumRarity.epic; + } + +} diff --git a/com/hbm/items/ArmorHazmat.java b/com/hbm/items/ArmorHazmat.java new file mode 100644 index 000000000..87b07f453 --- /dev/null +++ b/com/hbm/items/ArmorHazmat.java @@ -0,0 +1,27 @@ +package com.hbm.items; + +import com.hbm.lib.RefStrings; + +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; + +public class ArmorHazmat extends ItemArmor { + + public ArmorHazmat(ArmorMaterial p_i45325_1_, int p_i45325_2_, int p_i45325_3_) { + super(p_i45325_1_, p_i45325_2_, p_i45325_3_); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layer) { + if(stack.getItem().equals(ModItems.hazmat_helmet) || stack.getItem().equals(ModItems.hazmat_plate) || stack.getItem().equals(ModItems.hazmat_boots)) { + return (RefStrings.MODID + ":textures/armor/hazmat_1.png"); + } + if(stack.getItem().equals(ModItems.hazmat_legs)) { + return (RefStrings.MODID + ":textures/armor/hazmat_2.png"); + } + + else return null; + } + +} diff --git a/com/hbm/items/ArmorModel.java b/com/hbm/items/ArmorModel.java new file mode 100644 index 000000000..6ec32e0ce --- /dev/null +++ b/com/hbm/items/ArmorModel.java @@ -0,0 +1,70 @@ +package com.hbm.items; + +import com.hbm.render.ModelGasMask; +import com.hbm.render.ModelGoggles; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ArmorModel extends ItemArmor { + @SideOnly(Side.CLIENT) + private ModelGoggles modelGoggles; + private ModelGasMask modelGas; + + public ArmorModel(ArmorMaterial armorMaterial, int renderIndex, int armorType) + { + super(armorMaterial, renderIndex, armorType); + } + + public boolean isValidArmor(ItemStack stack, int armorType, Entity entity) + { + return armorType == 0; + } + + @SideOnly(Side.CLIENT) + public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) + { + if(this == ModItems.goggles) + { + if (armorSlot == 0) + { + if (this.modelGoggles == null) { + this.modelGoggles = new ModelGoggles(); + } + return this.modelGoggles; + } + } + if(this == ModItems.gas_mask) + { + if (armorSlot == 0) + { + if (this.modelGas == null) { + this.modelGas = new ModelGasMask(); + } + return this.modelGas; + } + } + return null; + } + + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) + { + if(stack.getItem() == ModItems.goggles) + { + return "hbm:textures/models/Goggles.png"; + } + if(stack.getItem() == ModItems.gas_mask) + { + return "hbm:textures/models/GasMask.png"; + } + return null; + } +} diff --git a/com/hbm/items/ArmorSchrabidium.java b/com/hbm/items/ArmorSchrabidium.java new file mode 100644 index 000000000..9a5de4814 --- /dev/null +++ b/com/hbm/items/ArmorSchrabidium.java @@ -0,0 +1,108 @@ +package com.hbm.items; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.ISpecialArmor; +import net.minecraftforge.common.ISpecialArmor.ArmorProperties; + +import com.hbm.lib.RefStrings; + +public class ArmorSchrabidium extends ItemArmor implements ISpecialArmor { + private String [] armourTypes = new String [] {"schrabidium_helmet", "schrabidium_plate", "schrabidium_legs", "schrabidium_boots"}; + + public ArmorSchrabidium(ArmorMaterial armorMaterial, int renderIndex, int armorType) { + super(armorMaterial, renderIndex, armorType); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layer) { + if(stack.getItem().equals(ModItems.schrabidium_helmet) || stack.getItem().equals(ModItems.schrabidium_plate) || stack.getItem().equals(ModItems.schrabidium_boots)) { + return (RefStrings.MODID + ":textures/armor/schrabidium_1.png"); + } + if(stack.getItem().equals(ModItems.schrabidium_legs)) { + return (RefStrings.MODID + ":textures/armor/schrabidium_2.png"); + } + + else return null; + } + + public EnumRarity getRarity(ItemStack p_77613_1_) { + + return EnumRarity.rare; + } + + @Override + public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { + if(damage >= 20) + { + player.setHealth(player.getHealth() - 1F); + return new ArmorProperties(1, 1, 2000); + } + return new ArmorProperties(1, 1, 2000); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { + if(slot == 0) + { + return 3; + } + if(slot == 1) + { + return 8; + } + if(slot == 2) + { + return 6; + } + if(slot == 3) + { + return 3; + } + return 0; + } + + @Override + public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { + stack.damageItem(damage * 1, entity); + + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack armor) { + + if(armor.getItem() == ModItems.schrabidium_helmet) + { + player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 5, 0)); + player.addPotionEffect(new PotionEffect(Potion.waterBreathing.id, 5, 9)); + } + + if(armor.getItem() == ModItems.schrabidium_plate) + { + player.addPotionEffect(new PotionEffect(Potion.regeneration.id, 5, 0)); + player.addPotionEffect(new PotionEffect(Potion.resistance.id, 5, 0)); + player.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 5, 0)); + } + + if(armor.getItem() == ModItems.schrabidium_legs) + { + player.addPotionEffect(new PotionEffect(Potion.jump.id, 5, 4)); + } + + if(armor.getItem() == ModItems.schrabidium_boots) + { + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 5, 4)); + } + } + +} diff --git a/com/hbm/items/ArmorT45.java b/com/hbm/items/ArmorT45.java new file mode 100644 index 000000000..6119e8535 --- /dev/null +++ b/com/hbm/items/ArmorT45.java @@ -0,0 +1,240 @@ +package com.hbm.items; + +import java.util.List; + +import com.hbm.lib.Library; +import com.hbm.render.ModelGasMask; +import com.hbm.render.ModelGoggles; +import com.hbm.render.ModelT45Boots; +import com.hbm.render.ModelT45Chest; +import com.hbm.render.ModelT45Helmet; +import com.hbm.render.ModelT45Legs; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.DamageSource; +import net.minecraft.util.IChatComponent; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraft.item.Item; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraftforge.common.ISpecialArmor; +import net.minecraftforge.common.ISpecialArmor.ArmorProperties; + +public class ArmorT45 extends ItemArmor implements ISpecialArmor { + @SideOnly(Side.CLIENT) + private ModelT45Helmet helmet; + private ModelT45Chest plate; + private ModelT45Legs legs; + private ModelT45Boots boots; + + public ArmorT45(ArmorMaterial armorMaterial, int renderIndex, int armorType) + { + super(armorMaterial, renderIndex, armorType); + } + + public boolean isValidArmor(ItemStack stack, int armorType, Entity entity) + { + if(stack.getItem() == ModItems.t45_helmet) + return armorType == 0; + if(stack.getItem() == ModItems.t45_plate) + return armorType == 1; + if(stack.getItem() == ModItems.t45_legs) + return armorType == 2; + if(stack.getItem() == ModItems.t45_boots) + return armorType == 3; + return false; + } + + @SideOnly(Side.CLIENT) + public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) + { + if(this == ModItems.t45_helmet) + { + if (armorSlot == 0) + { + if (this.helmet == null) { + this.helmet = new ModelT45Helmet(); + } + return this.helmet; + } + } + if(this == ModItems.t45_plate) + { + if (armorSlot == 1) + { + if (this.plate == null) { + this.plate = new ModelT45Chest(); + } + return this.plate; + } + } + if(this == ModItems.t45_legs) + { + if (armorSlot == 2) + { + if (this.legs == null) { + this.legs = new ModelT45Legs(); + } + return this.legs; + } + } + if(this == ModItems.t45_boots) + { + if (armorSlot == 3) + { + if (this.boots == null) { + this.boots = new ModelT45Boots(); + } + return this.boots; + } + } + return null; + } + + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) + { + if(stack.getItem() == ModItems.t45_helmet) + { + return "hbm:textures/models/T45Helmet.png"; + } + if(stack.getItem() == ModItems.t45_plate) + { + return "hbm:textures/models/T45Chest.png"; + } + if(stack.getItem() == ModItems.t45_legs) + { + return "hbm:textures/models/T45Legs.png"; + } + if(stack.getItem() == ModItems.t45_boots) + { + return "hbm:textures/models/T45Boots.png"; + } + return null; + } + + @Override + public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { + //return null; + if(player instanceof EntityPlayer && Library.checkArmor((EntityPlayer)player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots)) + { + if(source == DamageSource.inFire || source == DamageSource.onFire || source == DamageSource.fall || source == DamageSource.drown || source == DamageSource.cactus || source == DamageSource.magic || source.isProjectile()) + return new ArmorProperties(1, 1, MathHelper.floor_double(999999999)); + if(source == DamageSource.fallingBlock || source == DamageSource.anvil) + return new ArmorProperties(1, 1, MathHelper.floor_double(10)); + if(source == DamageSource.lava) + return new ArmorProperties(1, 1, MathHelper.floor_double(5)); + if(source.isExplosion()) + return new ArmorProperties(1, 1, MathHelper.floor_double(10)); + } + return new ArmorProperties(1, 1, MathHelper.floor_double(3)); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { + if(slot == 0) + { + return 3; + } + if(slot == 1) + { + return 8; + } + if(slot == 2) + { + return 6; + } + if(slot == 3) + { + return 3; + } + return 0; + } + + @Override + public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { + if(source != DamageSource.cactus && source != DamageSource.drown && source != DamageSource.fall) + stack.damageItem(damage * 1, entity); + + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack armor) { + if(armor.getItem() == ModItems.t45_plate) + { + if(armor.stackTagCompound == null) + { + armor.stackTagCompound = new NBTTagCompound(); + armor.stackTagCompound.setInteger("charge", 0); + } + if(armor.stackTagCompound.getInteger("charge") <= 0){ + for(int i = 0; i < player.inventory.mainInventory.length; i++) + { + ItemStack stack = player.inventory.getStackInSlot(i); + if(stack != null && stack.getItem() == ModItems.fusion_core && stack.getItemDamage() != stack.getMaxDamage()) + { + if(armor.stackTagCompound.getInteger("charge") == 0) + { + if(world.isRemote && armor.stackTagCompound.getInteger("charge") == 0) + { + } + if(!player.worldObj.isRemote) + { + int j = stack.getItemDamage(); + armor.stackTagCompound.setInteger("charge", stack.getMaxDamage() - j); + player.inventory.mainInventory[i] = null; + player.addChatMessage(new ChatComponentText("[Power Armor recharged]")); + break; + } + } + } + } + } + + if(armor.stackTagCompound.getInteger("charge") > 0 && Library.checkArmor(player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots)) + { + armor.stackTagCompound.setInteger("charge", armor.stackTagCompound.getInteger("charge") - 1); + } + } + + if(Library.checkArmor(player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots)) + { + if(player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() == ModItems.t45_plate && player.inventory.armorInventory[2].stackTagCompound != null && player.inventory.armorInventory[2].stackTagCompound.getInteger("charge") > 0) + { + player.addPotionEffect(new PotionEffect(Potion.jump.id, 1, 0)); + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 1, 1)); + player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 1, 2)); + player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 1, 0)); + } else { + player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 1, 1)); + player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 1, 0)); + } + } + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + if(itemstack.getItem() == ModItems.t45_plate) + { + if(itemstack.stackTagCompound != null) + { + if(itemstack.stackTagCompound.getInteger("charge") != 0) + list.add("Charge: " + (itemstack.stackTagCompound.getInteger("charge") / 50 + 1) + "%"); + else + list.add("Charge: " + (itemstack.stackTagCompound.getInteger("charge") / 50) + "%"); + } + } + } +} diff --git a/com/hbm/items/ArmorTest.java b/com/hbm/items/ArmorTest.java new file mode 100644 index 000000000..424fa27e6 --- /dev/null +++ b/com/hbm/items/ArmorTest.java @@ -0,0 +1,29 @@ +package com.hbm.items; + +import com.hbm.lib.RefStrings; + +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.item.ItemStack; + +public class ArmorTest extends ItemArmor { + private String [] armourTypes = new String [] {"test_helmet", "test_chestplate", "test_leggings", "test_boots"}; + + public ArmorTest(ArmorMaterial armorMaterial, int renderIndex, int armorType) { + super(armorMaterial, renderIndex, armorType); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layer) { + if(stack.getItem().equals(ModItems.test_helmet) || stack.getItem().equals(ModItems.test_chestplate) || stack.getItem().equals(ModItems.test_boots)) { + return (RefStrings.MODID + ":textures/armor/test_1.png"); + } + if(stack.getItem().equals(ModItems.test_leggings)) { + return (RefStrings.MODID + ":textures/armor/test_2.png"); + } + + else return null; + } + +} diff --git a/com/hbm/items/AxeSchrabidium.java b/com/hbm/items/AxeSchrabidium.java new file mode 100644 index 000000000..f64beb00c --- /dev/null +++ b/com/hbm/items/AxeSchrabidium.java @@ -0,0 +1,18 @@ +package com.hbm.items; + +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemStack; + +public class AxeSchrabidium extends ItemAxe { + + protected AxeSchrabidium(ToolMaterial p_i45327_1_) { + super(p_i45327_1_); + } + + public EnumRarity getRarity(ItemStack p_77613_1_) { + + return EnumRarity.rare; + } + +} diff --git a/com/hbm/items/BigSword.java b/com/hbm/items/BigSword.java new file mode 100644 index 000000000..b262ebcf7 --- /dev/null +++ b/com/hbm/items/BigSword.java @@ -0,0 +1,50 @@ +package com.hbm.items; + +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.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.Explosion; +import net.minecraft.world.World; + +public class BigSword extends ItemSword { + + public World worldObj; + + public double posX; + public double posY; + public double posZ; + + public BigSword(ToolMaterial p_i45356_1_) { + super(p_i45356_1_); + } + + @SideOnly(Side.CLIENT) + public boolean isFull3D() + { + return true; + } + + /*@Override + public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer Entityplayer) { + + Vec3 look = Entityplayer.getLookVec(); + MovingObjectPosition Coord = Entityplayer.rayTrace(300, 1); + EntityLightningBolt Lightning = new EntityLightningBolt(world, 1, 1, 1); + Lightning.setPosition(Coord.blockX,Coord.blockY,Coord.blockZ); + if(!Entityplayer.worldObj.isRemote) + { + world.spawnEntityInWorld(Lightning); + } + Entityplayer.addPotionEffect(new PotionEffect(6, 20, 5)); + itemStack.damageItem(25, Entityplayer); + return itemStack; + }*/ +} diff --git a/com/hbm/items/GunRevolver.java b/com/hbm/items/GunRevolver.java new file mode 100644 index 000000000..546615ba3 --- /dev/null +++ b/com/hbm/items/GunRevolver.java @@ -0,0 +1,206 @@ +package com.hbm.items; + +import java.util.Random; + +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; + +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; + Random rand = new Random(); + + public GunRevolver(Item ammo, int dmgMin, int dmgMax, boolean instakill) + { + 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_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; + } + + 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 + */ + 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); + if (event.isCanceled()) + { + return; + } + 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 = (float)j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + + if ((double)j < 10.0D) + { + return; + } + + if (j > 10.0F) + { + f = 10.0F; + } + + EntityBullet entityarrow = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F, dmgMin, dmgMax, instakill); + entityarrow.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); + + if (f == 1.0F) + { + entityarrow.setIsCritical(true); + } + + 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_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 (!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)); + } + } + } + } + + 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 + */ + public int getMaxItemUseDuration(ItemStack p_77626_1_) + { + return 72000; + } + + /** + * returns the action that specifies what animation to play when the items is being used + */ + 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 + */ + 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 (event.isCanceled()) + { + return event.result; + } + + 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. + */ + public int getItemEnchantability() + { + return 1; + } + + public Item getAmmo() { + return null; + } +} diff --git a/com/hbm/items/GunRpg.java b/com/hbm/items/GunRpg.java new file mode 100644 index 000000000..ac68b8334 --- /dev/null +++ b/com/hbm/items/GunRpg.java @@ -0,0 +1,142 @@ +package com.hbm.items; + +import com.hbm.entity.EntityRocket; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.init.Items; +import net.minecraft.item.EnumAction; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +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 GunRpg 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"; + + public GunRpg() + { + this.maxStackSize = 1; + this.setMaxDamage(500); + } + + /** + * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount + */ + 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); + if (event.isCanceled()) + { + return; + } + 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(ModItems.gun_rpg_ammo)) + { + float f = (float)j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + + if ((double)j < 25.0D) + { + return; + } + + if (j > 25.0F) + { + f = 25.0F; + } + + EntityRocket entityarrow = new EntityRocket(p_77615_2_, p_77615_3_, 3.0F); + + if (f == 1.0F) + { + entityarrow.setIsCritical(true); + } + + p_77615_1_.damageItem(1, p_77615_3_); + p_77615_2_.playSoundAtEntity(p_77615_3_, "fireworks.launch", 1.0F, 0.25F); + + if (flag) + { + entityarrow.canBePickedUp = 2; + } + else + { + p_77615_3_.inventory.consumeInventoryItem(ModItems.gun_rpg_ammo); + } + + if (!p_77615_2_.isRemote) + { + p_77615_2_.spawnEntityInWorld(entityarrow); + } + } + } + + 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 + */ + public int getMaxItemUseDuration(ItemStack p_77626_1_) + { + return 72000; + } + + /** + * returns the action that specifies what animation to play when the items is being used + */ + 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 + */ + 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 (event.isCanceled()) + { + return event.result; + } + + if (p_77659_3_.capabilities.isCreativeMode || p_77659_3_.inventory.hasItem(ModItems.gun_rpg_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. + */ + public int getItemEnchantability() + { + return 1; + } +} \ No newline at end of file diff --git a/com/hbm/items/HoeSchrabidium.java b/com/hbm/items/HoeSchrabidium.java new file mode 100644 index 000000000..ccd4bb621 --- /dev/null +++ b/com/hbm/items/HoeSchrabidium.java @@ -0,0 +1,18 @@ +package com.hbm.items; + +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemStack; + +public class HoeSchrabidium extends ItemHoe { + + public HoeSchrabidium(ToolMaterial p_i45343_1_) { + super(p_i45343_1_); + } + + public EnumRarity getRarity(ItemStack p_77613_1_) { + + return EnumRarity.rare; + } + +} diff --git a/com/hbm/items/ItemAppleEuphemium.java b/com/hbm/items/ItemAppleEuphemium.java new file mode 100644 index 000000000..7caf19f20 --- /dev/null +++ b/com/hbm/items/ItemAppleEuphemium.java @@ -0,0 +1,42 @@ +package com.hbm.items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; + +public class ItemAppleEuphemium extends ItemFood { + + public ItemAppleEuphemium(int p_i45339_1_, float p_i45339_2_, boolean p_i45339_3_) { + super(p_i45339_1_, p_i45339_2_, p_i45339_3_); + this.setAlwaysEdible(); + this.setCreativeTab(null); + } + + @SideOnly(Side.CLIENT) + public boolean hasEffect(ItemStack p_77636_1_) + { + return true; + } + + protected void onFoodEaten(ItemStack p_77849_1_, World p_77849_2_, EntityPlayer p_77849_3_) + { + if (!p_77849_2_.isRemote) + { + p_77849_3_.addPotionEffect(new PotionEffect(Potion.resistance.id, 2147483647, 127)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 2147483647, 0)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.field_76443_y.id, 2147483647, 127)); + } + } + + public EnumRarity getRarity(ItemStack p_77613_1_) + { + return EnumRarity.epic; + } + +} diff --git a/com/hbm/items/ItemAppleSchrabidium.java b/com/hbm/items/ItemAppleSchrabidium.java new file mode 100644 index 000000000..f506a7978 --- /dev/null +++ b/com/hbm/items/ItemAppleSchrabidium.java @@ -0,0 +1,107 @@ +package com.hbm.items; + +import java.util.List; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; + +public class ItemAppleSchrabidium extends ItemFood { + + public ItemAppleSchrabidium(int p_i45339_1_, float p_i45339_2_, boolean p_i45339_3_) { + super(p_i45339_1_, p_i45339_2_, p_i45339_3_); + this.setHasSubtypes(true); + this.setAlwaysEdible(); + } + + @SideOnly(Side.CLIENT) + public boolean hasEffect(ItemStack p_77636_1_) + { + return p_77636_1_.getItemDamage() == 2; + } + + protected void onFoodEaten(ItemStack p_77849_1_, World p_77849_2_, EntityPlayer p_77849_3_) + { + if (!p_77849_2_.isRemote) + { + p_77849_3_.addPotionEffect(new PotionEffect(Potion.regeneration.id, 600, 4)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.resistance.id, 6000, 0)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 6000, 0)); + } + + if (p_77849_1_.getItemDamage() == 1) + { + if (!p_77849_2_.isRemote) + { + p_77849_3_.addPotionEffect(new PotionEffect(Potion.regeneration.id, 6000, 4)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.resistance.id, 60000, 4)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 60000, 0)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 6000, 4)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 6000, 2)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 60000, 2)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.jump.id, 6000, 4)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.field_76434_w.id, 60000, 9)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 60000, 4)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.field_76443_y.id, 60000, 9)); + } + } + + if (p_77849_1_.getItemDamage() == 2) + { + if (!p_77849_2_.isRemote) + { + p_77849_3_.addPotionEffect(new PotionEffect(Potion.regeneration.id, 2147483647, 99)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.resistance.id, 2147483647, 99)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 2147483647, 0)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 2147483647, 99)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 2147483647, 99)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2147483647, 6)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.jump.id, 2147483647, 9)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.field_76434_w.id, 2147483647, 24)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 2147483647, 14)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.field_76443_y.id, 2147483647, 99)); + } + } + else + { + super.onFoodEaten(p_77849_1_, p_77849_2_, p_77849_3_); + } + } + + public EnumRarity getRarity(ItemStack p_77613_1_) + { + if(p_77613_1_.getItemDamage() == 0) + { + return EnumRarity.uncommon; + } + + if(p_77613_1_.getItemDamage() == 1) + { + return EnumRarity.rare; + } + + if(p_77613_1_.getItemDamage() == 2) + { + return EnumRarity.epic; + } + + return EnumRarity.common; + } + + @SideOnly(Side.CLIENT) + public void getSubItems(Item p_150895_1_, CreativeTabs p_150895_2_, List p_150895_3_) + { + p_150895_3_.add(new ItemStack(p_150895_1_, 1, 0)); + p_150895_3_.add(new ItemStack(p_150895_1_, 1, 1)); + p_150895_3_.add(new ItemStack(p_150895_1_, 1, 2)); + } + +} diff --git a/com/hbm/items/ItemBattery.java b/com/hbm/items/ItemBattery.java new file mode 100644 index 000000000..f844e97db --- /dev/null +++ b/com/hbm/items/ItemBattery.java @@ -0,0 +1,37 @@ +package com.hbm.items; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemBattery extends Item { + + public ItemBattery(int dura) { + this.setMaxDamage(dura); + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + if(itemstack.getItem() != ModItems.fusion_core) + { + list.add("Energy stored: " + ((this.getMaxDamage() - this.getDamage(itemstack)) * 100) + " HE"); + } else { + list.add("Charge: " + ((this.getMaxDamage() - this.getDamage(itemstack)) * 100) / this.getMaxDamage() + "%"); + } + } + + public EnumRarity getRarity(ItemStack p_77613_1_) { + + if(this == ModItems.battery_schrabidium) + { + return EnumRarity.rare; + } + + return EnumRarity.common; + } + +} diff --git a/com/hbm/items/ItemBoy.java b/com/hbm/items/ItemBoy.java new file mode 100644 index 000000000..d53f209d8 --- /dev/null +++ b/com/hbm/items/ItemBoy.java @@ -0,0 +1,18 @@ +package com.hbm.items; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemBoy extends Item { + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Used in:"); + list.add("Little Boy"); + } + +} diff --git a/com/hbm/items/ItemCottonCandy.java b/com/hbm/items/ItemCottonCandy.java new file mode 100644 index 000000000..f2ab635dc --- /dev/null +++ b/com/hbm/items/ItemCottonCandy.java @@ -0,0 +1,29 @@ +package com.hbm.items; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; + +public class ItemCottonCandy extends ItemFood { + + public ItemCottonCandy(int p_i45340_1_, boolean p_i45340_2_) { + super(p_i45340_1_, p_i45340_2_); + this.setAlwaysEdible(); + } + + protected void onFoodEaten(ItemStack p_77849_1_, World p_77849_2_, EntityPlayer p_77849_3_) + { + if (!p_77849_2_.isRemote) + { + p_77849_3_.addPotionEffect(new PotionEffect(Potion.poison.id, 15 * 20, 0)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.wither.id, 5 * 20, 0)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.weakness.id, 25 * 20, 2)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 25 * 20, 2)); + p_77849_3_.addPotionEffect(new PotionEffect(Potion.resistance.id, 30 * 20, 4)); + } + } + +} diff --git a/com/hbm/items/ItemCustomLore.java b/com/hbm/items/ItemCustomLore.java new file mode 100644 index 000000000..593831b8e --- /dev/null +++ b/com/hbm/items/ItemCustomLore.java @@ -0,0 +1,315 @@ +package com.hbm.items; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemCustomLore extends Item { + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + if(this == ModItems.flame_pony) + { + //list.add("Stop being so grumpy, just smeel."); + list.add("Don't compare the color codes, you know exactly who you are!!"); + } + if(this == ModItems.flame_conspiracy) + { + list.add("Steel beams can't melt jet fuel!"); + } + if(this == ModItems.flame_politics) + { + list.add("Dolan Tremp 4 president!"); + } + if(this == ModItems.flame_opinion) + { + list.add("Well, I like it..."); + } + + if(this == ModItems.ingot_neptunium) + { + list.add("That one's my favourite!"); + } + + if(this == ModItems.pellet_rtg) + { + list.add("RTG fuel pellet for infinite energy! (almost)"); + } + + if(this == ModItems.pellet_cluster) + { + list.add("Used in multi purpose bombs:"); + list.add("Adds some extra boom!"); + } + + if(this == ModItems.powder_fire) + { + list.add("Used in multi purpose bombs:"); + list.add("Incendiary bombs are fun!"); + } + + if(this == ModItems.powder_poison) + { + list.add("Used in multi purpose bombs:"); + list.add("Warning: Poisonous!"); + } + + if(this == ModItems.pellet_gas) + { + list.add("Used in multi purpose bombs:"); + list.add("*cough cough* Halp pls!"); + } + + if(this == ModItems.rod_uranium) + { + list.add("Worth 0 operations in breeding reactor"); + list.add("Worth 0 operations in nuclear powered furnace"); + list.add("Turns into Plutonium Rod"); + } + + if(this == ModItems.rod_u235) + { + list.add("Worth 3 operations in breeding reactor"); + list.add("Worth 15 operations in nuclear powered furnace"); + list.add("Turns into Neptunium Rod"); + } + + if(this == ModItems.rod_u238) + { + list.add("Worth 1 operation in breeding reactor"); + list.add("Worth 5 operations in nuclear powered furnace"); + list.add("Turns into Plutonium 239 Rod"); + } + + if(this == ModItems.rod_neptunium) + { + list.add("Worth 3 operations in breeding reactor"); + list.add("Worth 15 operations in nuclear powered furnace"); + list.add("Turns into Plutonium 238 Rod"); + } + + if(this == ModItems.rod_plutonium) + { + list.add("Worth 0 operations in breeding reactor"); + list.add("Worth 0 operations in nuclear powered furnace"); + list.add("Turns into Lead Rod"); + } + + if(this == ModItems.rod_pu238) + { + list.add("Worth 5 operations in breeding reactor"); + list.add("Worth 25 operations in nuclear powered furnace"); + list.add("Turns into Plutonium 239 Rod"); + } + + if(this == ModItems.rod_pu239) + { + list.add("Worth 3 operations in breeding reactor"); + list.add("Worth 15 operations in nuclear powered furnace"); + list.add("Turns into Plutonium 240 Rod"); + } + + if(this == ModItems.rod_pu240) + { + list.add("Worth 1 operation in breeding reactor"); + list.add("Worth 5 operations in nuclear powered furnace"); + list.add("Turns into Lead Rod"); + } + + if(this == ModItems.rod_schrabidium) + { + list.add("Worth 15 operations in breeding reactor"); + list.add("Worth 75 operations in nuclear powered furnace"); + } + + if(this == ModItems.rod_dual_uranium) + { + list.add("Worth 0 operations in breeding reactor"); + list.add("Worth 0 operations in nuclear powered furnace"); + list.add("Turns into Dual Plutonium Rod"); + } + + if(this == ModItems.rod_dual_u235) + { + list.add("Worth 6 operations in breeding reactor"); + list.add("Worth 30 operations in nuclear powered furnace"); + list.add("Turns into Dual Neptunium Rod"); + } + + if(this == ModItems.rod_dual_u238) + { + list.add("Worth 2 operations in breeding reactor"); + list.add("Worth 10 operations in nuclear powered furnace"); + list.add("Turns into Dual Plutonium 239 Rod"); + } + + if(this == ModItems.rod_dual_neptunium) + { + list.add("Worth 6 operations in breeding reactor"); + list.add("Worth 30 operations in nuclear powered furnace"); + list.add("Turns into Dual Plutonium 238 Rod"); + } + + if(this == ModItems.rod_dual_plutonium) + { + list.add("Worth 0 operations in breeding reactor"); + list.add("Worth 0 operations in nuclear powered furnace"); + list.add("Turns into Dual Lead Rod"); + } + + if(this == ModItems.rod_dual_pu238) + { + list.add("Worth 10 operations in breeding reactor"); + list.add("Worth 50 operations in nuclear powered furnace"); + list.add("Turns into Dual Plutonium 239 Rod"); + } + + if(this == ModItems.rod_dual_pu239) + { + list.add("Worth 6 operations in breeding reactor"); + list.add("Worth 30 operations in nuclear powered furnace"); + list.add("Turns into Dual Plutonium 240 Rod"); + } + + if(this == ModItems.rod_dual_pu240) + { + list.add("Worth 2 operations in breeding reactor"); + list.add("Worth 10 operations in nuclear powered furnace"); + list.add("Turns into Dual Lead Rod"); + } + + if(this == ModItems.rod_dual_schrabidium) + { + list.add("Worth 30 operations in breeding reactor"); + list.add("Worth 150 operations in nuclear powered furnace"); + } + + if(this == ModItems.rod_quad_uranium) + { + list.add("Worth 0 operations in breeding reactor"); + list.add("Worth 0 operations in nuclear powered furnace"); + list.add("Turns into Quad Plutonium Rod"); + } + + if(this == ModItems.rod_quad_u235) + { + list.add("Worth 12 operations in breeding reactor"); + list.add("Worth 60 operations in nuclear powered furnace"); + list.add("Turns into Quad Neptunium Rod"); + } + + if(this == ModItems.rod_quad_u238) + { + list.add("Worth 4 operations in breeding reactor"); + list.add("Worth 20 operations in nuclear powered furnace"); + list.add("Turns into Quad Plutonium 239 Rod"); + } + + if(this == ModItems.rod_quad_neptunium) + { + list.add("Worth 12 operations in breeding reactor"); + list.add("Worth 60 operations in nuclear powered furnace"); + list.add("Turns into Quad Plutonium 238 Rod"); + } + + if(this == ModItems.rod_quad_plutonium) + { + list.add("Worth 0 operations in breeding reactor"); + list.add("Worth 0 operations in nuclear powered furnace"); + list.add("Turns into Quad Lead Rod"); + } + + if(this == ModItems.rod_quad_pu238) + { + list.add("Worth 20 operations in breeding reactor"); + list.add("Worth 100 operations in nuclear powered furnace"); + list.add("Turns into Quad Plutonium 239 Rod"); + } + + if(this == ModItems.rod_quad_pu239) + { + list.add("Worth 12 operations in breeding reactor"); + list.add("Worth 60 operations in nuclear powered furnace"); + list.add("Turns into Quad Plutonium 240 Rod"); + } + + if(this == ModItems.rod_quad_pu240) + { + list.add("Worth 4 operations in breeding reactor"); + list.add("Worth 20 operations in nuclear powered furnace"); + list.add("Turns into Quad Lead Rod"); + } + + if(this == ModItems.rod_quad_schrabidium) + { + list.add("Worth 60 operations in breeding reactor"); + list.add("Worth 300 operations in nuclear powered furnace"); + } + + if(this == ModItems.igniter) + { + /*list.add("Don't get me wrong, but you use it"); + list.add("by directly right-clicking the"); + list.add("prototype. And yes, you also die. Why?"); + list.add("Because you stand two meters next to"); + list.add("the bomb, you fool.");*/ + list.add("(Used by right-clicking the Prototype)"); + list.add("It's a green metal handle with a"); + list.add("bright red button and a small lid."); + list.add("At the bottom, the initials N.E. are"); + list.add("engraved. Whoever N.E. was, he had"); + list.add("a great taste in shades of green."); + } + + if(this == ModItems.rod_quad_euphemium) + { + list.add("A quad fuel rod which contains a"); + list.add("very small ammount of a strange new element."); + } + + if(this == ModItems.ingot_euphemium) + { + list.add("A very special and yet strange element."); + } + + if(this == ModItems.nugget_euphemium) + { + list.add("A small piece of a pink metal."); + list.add("It's properties are still unknown,"); + list.add("DEAL WITH IT carefully."); + } + + if(this == ModItems.watch) + { + list.add("A small blue pocket watch."); + list.add("It's glass has a few cracks in it,"); + list.add("and some shards are missing."); + list.add("It stopped ticking at 2:34."); + } + } + + public EnumRarity getRarity(ItemStack p_77613_1_) { + + if(this == ModItems.nugget_euphemium || this == ModItems.ingot_euphemium || this == ModItems.rod_quad_euphemium || this == ModItems.watch) + { + return EnumRarity.epic; + } + + if(this == ModItems.rod_schrabidium || this == ModItems.rod_dual_schrabidium || this == ModItems.rod_quad_schrabidium || this == ModItems.ingot_schrabidium || this == ModItems.nugget_schrabidium || this == ModItems.plate_schrabidium || this == ModItems.cell_sas3 || this == ModItems.powder_schrabidium || this == ModItems.wire_schrabidium || this == ModItems.circuit_schrabidium || this == ModItems.gun_revolver_schrabidium_ammo) + { + return EnumRarity.rare; + } + + if(this == ModItems.gun_revolver_cursed_ammo) + { + return EnumRarity.uncommon; + } + + return EnumRarity.common; + } + +} diff --git a/com/hbm/items/ItemDesingator.java b/com/hbm/items/ItemDesingator.java new file mode 100644 index 000000000..299c280d6 --- /dev/null +++ b/com/hbm/items/ItemDesingator.java @@ -0,0 +1,52 @@ +package com.hbm.items; + +import java.util.List; + +import com.hbm.blocks.LaunchPad; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class ItemDesingator extends Item { + + public void onCreated(ItemStack p_77622_1_, World p_77622_2_, EntityPlayer p_77622_3_) { + p_77622_1_.stackTagCompound = new NBTTagCompound(); + p_77622_1_.stackTagCompound.setInteger("xCoord", 0); + p_77622_1_.stackTagCompound.setInteger("zCoord", 0); + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + if(itemstack.stackTagCompound != null) + { + list.add("Target Coordinates:"); + list.add("X: " + String.valueOf(itemstack.stackTagCompound.getInteger("xCoord"))); + list.add("Z: " + String.valueOf(itemstack.stackTagCompound.getInteger("zCoord"))); + } else { + list.add("Please select a target."); + } + } + + @Override + 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_) instanceof LaunchPad)) + { + if(p_77648_1_.stackTagCompound != null) + { + p_77648_1_.stackTagCompound.setInteger("xCoord", p_77648_4_); + p_77648_1_.stackTagCompound.setInteger("zCoord", p_77648_6_); + } else { + p_77648_1_.stackTagCompound = new NBTTagCompound(); + p_77648_1_.stackTagCompound.setInteger("xCoord", p_77648_4_); + p_77648_1_.stackTagCompound.setInteger("zCoord", p_77648_6_); + } + } + + return false; + } +} diff --git a/com/hbm/items/ItemFleija.java b/com/hbm/items/ItemFleija.java new file mode 100644 index 000000000..e33d248d4 --- /dev/null +++ b/com/hbm/items/ItemFleija.java @@ -0,0 +1,29 @@ +package com.hbm.items; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemFleija extends Item{ + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Used in:"); + list.add("F.L.E.I.J.A."); + } + + public EnumRarity getRarity(ItemStack p_77613_1_) { + + if(this == ModItems.fleija_propellant) + { + return EnumRarity.rare; + } + + return EnumRarity.common; + } + +} diff --git a/com/hbm/items/ItemFuelRod.java b/com/hbm/items/ItemFuelRod.java new file mode 100644 index 000000000..cde8d371c --- /dev/null +++ b/com/hbm/items/ItemFuelRod.java @@ -0,0 +1,101 @@ +package com.hbm.items; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemFuelRod extends Item { + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Used in nuclear reactor"); + + if(this == ModItems.rod_uranium_fuel) + { + list.add("Generates 10 power per tick"); + list.add("Generates 1 heat per tick"); + list.add("Lasts 10000 ticks"); + } + + if(this == ModItems.rod_dual_uranium_fuel) + { + list.add("Generates 10 power per tick"); + list.add("Generates 1 heat per tick"); + list.add("Lasts 20000 ticks"); + } + + if(this == ModItems.rod_quad_uranium_fuel) + { + list.add("Generates 10 power per tick"); + list.add("Generates 1 heat per tick"); + list.add("Lasts 40000 ticks"); + } + + if(this == ModItems.rod_plutonium_fuel) + { + list.add("Generates 15 power per tick"); + list.add("Generates 2 heat per tick"); + list.add("Lasts 25000 ticks"); + } + + if(this == ModItems.rod_dual_plutonium_fuel) + { + list.add("Generates 15 power per tick"); + list.add("Generates 2 heat per tick"); + list.add("Lasts 50000 ticks"); + } + + if(this == ModItems.rod_quad_plutonium_fuel) + { + list.add("Generates 15 power per tick"); + list.add("Generates 2 heat per tick"); + list.add("Lasts 100000 ticks"); + } + + if(this == ModItems.rod_mox_fuel) + { + list.add("Generates 5 power per tick"); + list.add("Generates 1 heat per tick"); + list.add("Lasts 100000 ticks"); + } + + if(this == ModItems.rod_dual_mox_fuel) + { + list.add("Generates 5 power per tick"); + list.add("Generates 1 heat per tick"); + list.add("Lasts 200000 ticks"); + } + + if(this == ModItems.rod_quad_mox_fuel) + { + list.add("Generates 5 power per tick"); + list.add("Generates 1 heat per tick"); + list.add("Lasts 400000 ticks"); + } + + if(this == ModItems.rod_schrabidium_fuel) + { + list.add("Generates 25 power per tick"); + list.add("Generates 10 heat per tick"); + list.add("Lasts 2500000 ticks"); + } + + if(this == ModItems.rod_dual_schrabidium_fuel) + { + list.add("Generates 25 power per tick"); + list.add("Generates 10 heat per tick"); + list.add("Lasts 5000000 ticks"); + } + + if(this == ModItems.rod_quad_schrabidium_fuel) + { + list.add("Generates 25 power per tick"); + list.add("Generates 10 heat per tick"); + list.add("Lasts 10000000 ticks"); + } + } + +} diff --git a/com/hbm/items/ItemGadget.java b/com/hbm/items/ItemGadget.java new file mode 100644 index 000000000..e8affe97a --- /dev/null +++ b/com/hbm/items/ItemGadget.java @@ -0,0 +1,18 @@ +package com.hbm.items; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemGadget extends Item { + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Used in:"); + list.add("The Gadget"); + } + +} diff --git a/com/hbm/items/ItemGrenade.java b/com/hbm/items/ItemGrenade.java new file mode 100644 index 000000000..46ac52569 --- /dev/null +++ b/com/hbm/items/ItemGrenade.java @@ -0,0 +1,104 @@ +package com.hbm.items; + +import com.hbm.entity.EntityGrenadeCluster; +import com.hbm.entity.EntityGrenadeElectric; +import com.hbm.entity.EntityGrenadeFire; +import com.hbm.entity.EntityGrenadeFlare; +import com.hbm.entity.EntityGrenadeFrag; +import com.hbm.entity.EntityGrenadeGas; +import com.hbm.entity.EntityGrenadeGeneric; +import com.hbm.entity.EntityGrenadeNuke; +import com.hbm.entity.EntityGrenadePoison; +import com.hbm.entity.EntityGrenadeSchrabidium; +import com.hbm.entity.EntityGrenadeStrong; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntitySnowball; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemGrenade extends Item { + + public ItemGrenade() + { + this.maxStackSize = 16; + } + + public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) + { + if (!p_77659_3_.capabilities.isCreativeMode) + { + --p_77659_1_.stackSize; + } + + p_77659_2_.playSoundAtEntity(p_77659_3_, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); + + if (!p_77659_2_.isRemote) + { + if(this == ModItems.grenade_generic) + { + p_77659_2_.spawnEntityInWorld(new EntityGrenadeGeneric(p_77659_2_, p_77659_3_)); + } + if(this == ModItems.grenade_strong) + { + p_77659_2_.spawnEntityInWorld(new EntityGrenadeStrong(p_77659_2_, p_77659_3_)); + } + if(this == ModItems.grenade_frag) + { + EntityGrenadeFrag frag = new EntityGrenadeFrag(p_77659_2_, p_77659_3_); + frag.shooter = p_77659_3_; + p_77659_2_.spawnEntityInWorld(frag); + } + if(this == ModItems.grenade_fire) + { + EntityGrenadeFire fire = new EntityGrenadeFire(p_77659_2_, p_77659_3_); + fire.shooter = p_77659_3_; + p_77659_2_.spawnEntityInWorld(fire); + } + if(this == ModItems.grenade_cluster) + { + p_77659_2_.spawnEntityInWorld(new EntityGrenadeCluster(p_77659_2_, p_77659_3_)); + } + if(this == ModItems.grenade_flare) + { + p_77659_2_.spawnEntityInWorld(new EntityGrenadeFlare(p_77659_2_, p_77659_3_)); + } + if(this == ModItems.grenade_electric) + { + p_77659_2_.spawnEntityInWorld(new EntityGrenadeElectric(p_77659_2_, p_77659_3_)); + } + if(this == ModItems.grenade_poison) + { + p_77659_2_.spawnEntityInWorld(new EntityGrenadePoison(p_77659_2_, p_77659_3_)); + } + if(this == ModItems.grenade_gas) + { + p_77659_2_.spawnEntityInWorld(new EntityGrenadeGas(p_77659_2_, p_77659_3_)); + } + if(this == ModItems.grenade_schrabidium) + { + p_77659_2_.spawnEntityInWorld(new EntityGrenadeSchrabidium(p_77659_2_, p_77659_3_)); + } + if(this == ModItems.grenade_nuke) + { + p_77659_2_.spawnEntityInWorld(new EntityGrenadeNuke(p_77659_2_, p_77659_3_)); + } + } + + return p_77659_1_; + } + + public EnumRarity getRarity(ItemStack p_77613_1_) { + + if(this == ModItems.grenade_schrabidium) + { + return EnumRarity.rare; + } + + return EnumRarity.common; + } + +} diff --git a/com/hbm/items/ItemMan.java b/com/hbm/items/ItemMan.java new file mode 100644 index 000000000..7b5b8256a --- /dev/null +++ b/com/hbm/items/ItemMan.java @@ -0,0 +1,18 @@ +package com.hbm.items; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemMan extends Item { + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Used in:"); + list.add("Fat Man"); + } + +} diff --git a/com/hbm/items/ItemManMike.java b/com/hbm/items/ItemManMike.java new file mode 100644 index 000000000..e2a1d9b3a --- /dev/null +++ b/com/hbm/items/ItemManMike.java @@ -0,0 +1,20 @@ +package com.hbm.items; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemManMike extends Item { + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Used in:"); + list.add("Fat Man"); + list.add("Ivy Mike"); + list.add("Tsar Bomba"); + } + +} diff --git a/com/hbm/items/ItemMike.java b/com/hbm/items/ItemMike.java new file mode 100644 index 000000000..9e127b11b --- /dev/null +++ b/com/hbm/items/ItemMike.java @@ -0,0 +1,18 @@ +package com.hbm.items; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemMike extends Item { + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Used in:"); + list.add("Ivy Mike"); + } + +} diff --git a/com/hbm/items/ItemModAxe.java b/com/hbm/items/ItemModAxe.java new file mode 100644 index 000000000..862a402db --- /dev/null +++ b/com/hbm/items/ItemModAxe.java @@ -0,0 +1,11 @@ +package com.hbm.items; + +import net.minecraft.item.ItemAxe; + +public class ItemModAxe extends ItemAxe { + + protected ItemModAxe(ToolMaterial p_i45327_1_) { + super(p_i45327_1_); + } + +} diff --git a/com/hbm/items/ItemModPickaxe.java b/com/hbm/items/ItemModPickaxe.java new file mode 100644 index 000000000..7256eb6ca --- /dev/null +++ b/com/hbm/items/ItemModPickaxe.java @@ -0,0 +1,11 @@ +package com.hbm.items; + +import net.minecraft.item.ItemPickaxe; + +public class ItemModPickaxe extends ItemPickaxe { + + protected ItemModPickaxe(ToolMaterial p_i45347_1_) { + super(p_i45347_1_); + } + +} diff --git a/com/hbm/items/ItemPrototypeBlock.java b/com/hbm/items/ItemPrototypeBlock.java new file mode 100644 index 000000000..390454797 --- /dev/null +++ b/com/hbm/items/ItemPrototypeBlock.java @@ -0,0 +1,28 @@ +package com.hbm.items; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemPrototypeBlock extends ItemBlock { + + public ItemPrototypeBlock(Block p_i45328_1_) { + super(p_i45328_1_); + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("It didn't have to be like this."); + list.add(""); + list.add("You monster."); + + /*list.add("In memory of Euphemia."); + list.add(""); + list.add("Rest in spaghetti, never forgetti.");*/ + } + +} diff --git a/com/hbm/items/ItemSchnitzelVegan.java b/com/hbm/items/ItemSchnitzelVegan.java new file mode 100644 index 000000000..f5f6ca0af --- /dev/null +++ b/com/hbm/items/ItemSchnitzelVegan.java @@ -0,0 +1,32 @@ +package com.hbm.items; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemFood; +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 ItemSchnitzelVegan extends ItemFood { + + public ItemSchnitzelVegan(int hunger, boolean isDogFood) { + super(hunger, isDogFood); + } + + @Override + protected void onFoodEaten(ItemStack stack, World world, EntityPlayer player) + { + if (!world.isRemote) + { + player.addPotionEffect(new PotionEffect(Potion.blindness.id, 10 * 20, 0)); + player.addPotionEffect(new PotionEffect(Potion.confusion.id, 30 * 20, 0)); + player.addPotionEffect(new PotionEffect(Potion.hunger.id, 3 * 60 * 20, 4)); + player.addPotionEffect(new PotionEffect(Potion.wither.id, 3 * 20, 0)); + + player.setFire(5 * 20); + player.motionY = 2; + } + } + +} diff --git a/com/hbm/items/ItemSchrabidiumBlock.java b/com/hbm/items/ItemSchrabidiumBlock.java new file mode 100644 index 000000000..001ff4bcd --- /dev/null +++ b/com/hbm/items/ItemSchrabidiumBlock.java @@ -0,0 +1,19 @@ +package com.hbm.items; + +import net.minecraft.block.Block; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemSchrabidiumBlock extends ItemBlock { + + public ItemSchrabidiumBlock(Block p_i45328_1_) { + super(p_i45328_1_); + } + + public EnumRarity getRarity(ItemStack p_77613_1_) { + + return EnumRarity.rare; + } + +} diff --git a/com/hbm/items/ItemStarterKit.java b/com/hbm/items/ItemStarterKit.java new file mode 100644 index 000000000..83bcd8edb --- /dev/null +++ b/com/hbm/items/ItemStarterKit.java @@ -0,0 +1,279 @@ +package com.hbm.items; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemStarterKit extends Item { + + public ItemStarterKit() + { + this.maxStackSize = 1; + this.setMaxDamage(1); + } + + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + stack.damageItem(5, player); + + if(this == ModItems.nuke_starter_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 1)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_centrifuge), 1)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_reactor), 1)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 1)); + + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_uranium, 6)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_red_copper, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_tungsten, 4)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_steel, 12)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_lead, 8)); + + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_titanium, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_aluminium, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_iron, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_steel, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_lead, 16)); + + player.inventory.addItemStackToInventory(new ItemStack(ModItems.wire_red_copper, 28)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.wire_tungsten, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_copper, 8)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.tank_steel, 4)); + + player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 4)); + + player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_empty, 32)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_uf6, 8)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_empty, 16)); + } + + if(this == ModItems.nuke_advanced_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 2)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_centrifuge), 4)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_reactor), 3)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 2)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_puf6_tank), 2)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_deuterium), 1)); + + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_uranium, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_u235, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_u238, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_plutonium, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_pu238, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_pu239, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_pu240, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_neptunium, 16)); + + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_copper, 32)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_red_copper, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_steel, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_tungsten, 32)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_lead, 32)); + + player.inventory.addItemStackToInventory(new ItemStack(ModItems.wire_red_copper, 32)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.wire_tungsten, 32)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_copper, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_tungsten, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_copper_torus, 8)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.tank_steel, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.motor, 8)); + + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_aluminium, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_titanium, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_iron, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_steel, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.neutron_reflector, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_lead, 16)); + + player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_empty, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_empty, 64)); + + player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 16)); + } + + if(this == ModItems.nuke_commercially_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_generator), 4)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 2)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_rtg_furnace_off), 2)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 4)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 32)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 8)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_pu238, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_pu238, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_mox_fuel, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_mox_fuel, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_mox_fuel, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_mox_fuel, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_dual_mox_fuel, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_dual_mox_fuel, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_dual_mox_fuel, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_dual_mox_fuel, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_water, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_water, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_water, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_water, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_coolant, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_coolant, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_coolant, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_coolant, 1)); + } + + if(this == ModItems.nuke_electric_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_coal_off), 4)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 64)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 64)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 6)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 2)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_generic, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_generic, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_generic, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_generic, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_generic, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_generic, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_advanced, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_advanced, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_advanced, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_advanced, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_schrabidium, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_aluminium, 32)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_titanium, 32)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_steel, 32)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.circuit_aluminium, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.circuit_copper, 8)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.circuit_red_copper, 4)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.circuit_gold, 2)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.motor, 4)); + } + + if(this == ModItems.gadget_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_gadget), 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gadget_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gadget_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gadget_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gadget_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gadget_wireing, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gadget_core, 1)); + } + + if(this == ModItems.boy_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_boy), 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.boy_shielding, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.boy_target, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.boy_bullet, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.boy_propellant, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.boy_igniter, 1)); + } + + if(this == ModItems.man_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_man), 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_igniter, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_core, 1)); + } + + if(this == ModItems.mike_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_mike), 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_core, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.mike_core, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.mike_deut, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.mike_cooling_unit, 1)); + } + + if(this == ModItems.tsar_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_tsar), 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_explosive8, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.man_core, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.tsar_core, 1)); + } + + if(this == ModItems.multi_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.bomb_multi), 6)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(Blocks.tnt), 26)); + player.inventory.addItemStackToInventory(new ItemStack(Items.gunpowder, 2)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_cluster, 2)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.powder_fire, 2)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.powder_poison, 2)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_gas, 2)); + } + + if(this == ModItems.grenade_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_generic, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_strong, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_frag, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_fire, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_cluster, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_flare, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_electric, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_poison, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_gas, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_schrabidium, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_nuke, 16)); + } + + if(this == ModItems.fleija_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_fleija), 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fleija_igniter, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fleija_igniter, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fleija_propellant, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fleija_propellant, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fleija_propellant, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fleija_core, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fleija_core, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fleija_core, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fleija_core, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fleija_core, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fleija_core, 1)); + } + + if(this == ModItems.prototype_kit) + { + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_prototype), 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.igniter, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_sas3, 4)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_uranium, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_uranium, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_lead, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_lead, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_neptunium, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_neptunium, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_lead, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_lead, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_uranium, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_uranium, 1)); + } + + return stack; + + } + + public void onPlayerStoppedUsing(ItemStack stack, World world, EntityPlayer player, int i) { + + } + +} diff --git a/com/hbm/items/ItemSyringe.java b/com/hbm/items/ItemSyringe.java new file mode 100644 index 000000000..6379d0942 --- /dev/null +++ b/com/hbm/items/ItemSyringe.java @@ -0,0 +1,110 @@ +package com.hbm.items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +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.world.World; + +public class ItemSyringe extends Item { + + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(this == ModItems.syringe_antidote) + { + if (!world.isRemote) + { + player.clearActivePotions(); + + stack.stackSize--; + + if (stack.stackSize <= 0) + { + return new ItemStack(ModItems.syringe_empty); + } + + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_empty))) + { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_empty, 1, 0), false); + } + } + } + + if(this == ModItems.syringe_awesome) + { + if (!world.isRemote) + { + player.addPotionEffect(new PotionEffect(Potion.regeneration.id, 50 * 20, 9)); + player.addPotionEffect(new PotionEffect(Potion.resistance.id, 50 * 20, 9)); + player.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 50 * 20, 0)); + player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 50 * 20, 24)); + player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 50 * 20, 9)); + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 50 * 20, 6)); + player.addPotionEffect(new PotionEffect(Potion.jump.id, 50 * 20, 9)); + player.addPotionEffect(new PotionEffect(Potion.field_76434_w.id, 50 * 20, 9)); + player.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 50 * 20, 4)); + player.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 20, 4)); + + stack.stackSize--; + + if (stack.stackSize <= 0) + { + return new ItemStack(ModItems.syringe_empty); + } + + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_empty))) + { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_empty, 1, 0), false); + } + } + } + + if(this == ModItems.syringe_metal_stimpak) + { + if (!world.isRemote) + { + player.heal(5); + + stack.stackSize--; + + if (stack.stackSize <= 0) + { + return new ItemStack(ModItems.syringe_metal_empty); + } + + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_metal_empty))) + { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_metal_empty, 1, 0), false); + } + } + } + + return stack; + } + + @SideOnly(Side.CLIENT) + public boolean hasEffect(ItemStack p_77636_1_) + { + if(this == ModItems.syringe_awesome) + { + return true; + } + + return false; + } + + public EnumRarity getRarity(ItemStack p_77613_1_) + { + if(this == ModItems.syringe_awesome) + { + return EnumRarity.uncommon; + } + + return EnumRarity.common; + } +} diff --git a/com/hbm/items/ItemTsar.java b/com/hbm/items/ItemTsar.java new file mode 100644 index 000000000..abd51e2e6 --- /dev/null +++ b/com/hbm/items/ItemTsar.java @@ -0,0 +1,18 @@ +package com.hbm.items; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemTsar extends Item { + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Used in:"); + list.add("Tsar Bomba"); + } + +} diff --git a/com/hbm/items/ItemWaffle.java b/com/hbm/items/ItemWaffle.java new file mode 100644 index 000000000..ef86cc7a7 --- /dev/null +++ b/com/hbm/items/ItemWaffle.java @@ -0,0 +1,29 @@ +package com.hbm.items; + +import com.hbm.entity.EntityNukeExplosionAdvanced; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemWaffle extends ItemFood { + + public ItemWaffle(int heal, boolean canWolfEat) { + super(heal, canWolfEat); + } + + @Override + public void onFoodEaten(ItemStack stack, World world, EntityPlayer player) + { + EntityNukeExplosionAdvanced explosion = new EntityNukeExplosionAdvanced(world); + explosion.speed = 25; + explosion.coefficient = 5.0F; + explosion.destructionRange = 25; + explosion.posX = player.posX; + explosion.posY = player.posY; + explosion.posZ = player.posZ; + world.spawnEntityInWorld(explosion); + } + +} diff --git a/com/hbm/items/MaskOfInfamy.java b/com/hbm/items/MaskOfInfamy.java new file mode 100644 index 000000000..e31e5b20a --- /dev/null +++ b/com/hbm/items/MaskOfInfamy.java @@ -0,0 +1,25 @@ +package com.hbm.items; + +import com.hbm.lib.RefStrings; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraftforge.common.ISpecialArmor; + +public class MaskOfInfamy extends ItemArmor { + + public MaskOfInfamy(ArmorMaterial p_i45325_1_, int p_i45325_2_, int p_i45325_3_) { + super(p_i45325_1_, p_i45325_2_, p_i45325_3_); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layer) { + + return (RefStrings.MODID + ":textures/armor/MaskOfInfamy.png"); + } + +} diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java new file mode 100644 index 000000000..b0ec1c867 --- /dev/null +++ b/com/hbm/items/ModItems.java @@ -0,0 +1,1120 @@ +package com.hbm.items; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemSpade; + +public class ModItems { + + public static void mainRegistry() + { + initializeItem(); + registerItem(); + } + + public static Item redstone_sword; + public static Item big_sword; + + public static Item test_helmet; + public static Item test_chestplate; + public static Item test_leggings; + public static Item test_boots; + + public static Item ingot_uranium; + public static Item ingot_u235; + public static Item ingot_u238; + public static Item ingot_plutonium; + public static Item ingot_pu238; + public static Item ingot_pu239; + public static Item ingot_pu240; + public static Item ingot_neptunium; + public static Item ingot_titanium; + public static Item sulfur; + + public static Item niter; + public static Item ingot_copper; + public static Item ingot_red_copper; + public static Item ingot_tungsten; + public static Item ingot_aluminium; + public static Item fluorite; + public static Item ingot_beryllium; + public static Item ingot_schrabidium; + public static Item ingot_plutonium_fuel; + public static Item ingot_uranium_fuel; + public static Item ingot_mox_fuel; + public static Item ingot_schrabidium_fuel; + public static Item nugget_uranium_fuel; + public static Item nugget_plutonium_fuel; + public static Item nugget_mox_fuel; + public static Item nugget_schrabidium_fuel; + + public static Item nugget_uranium; + public static Item nugget_u235; + public static Item nugget_u238; + public static Item nugget_plutonium; + public static Item nugget_pu238; + public static Item nugget_pu239; + public static Item nugget_pu240; + public static Item nugget_neptunium; + public static Item plate_titanium; + public static Item plate_aluminium; + public static Item wire_red_copper; + public static Item wire_tungsten; + public static Item neutron_reflector; + public static Item ingot_steel; + public static Item plate_steel; + public static Item plate_iron; + public static Item ingot_lead; + public static Item nugget_lead; + public static Item plate_lead; + public static Item nugget_schrabidium; + public static Item plate_schrabidium; + public static Item plate_copper; + public static Item nugget_beryllium; + public static Item plate_gold; + + public static Item powder_lead; + public static Item powder_neptunium; + public static Item powder_schrabidium; + + public static Item coil_copper; + public static Item coil_copper_torus; + public static Item coil_tungsten; + public static Item tank_steel; + public static Item motor; + public static Item centrifuge_element; + public static Item centrifuge_tower; + public static Item reactor_core; + public static Item rtg_unit; + public static Item thermo_unit_empty; + public static Item thermo_unit_endo; + public static Item thermo_unit_exo; + public static Item levitation_unit; + public static Item wire_aluminium; + public static Item wire_copper; + public static Item wire_gold; + public static Item wire_schrabidium; + + public static Item circuit_aluminium; + public static Item circuit_copper; + public static Item circuit_red_copper; + public static Item circuit_gold; + public static Item circuit_schrabidium; + + public static Item cap_aluminium; + public static Item hull_small_steel; + public static Item hull_small_aluminium; + public static Item hull_big_steel; + public static Item hull_big_aluminium; + public static Item hull_big_titanium; + public static Item fins_flat; + public static Item fins_small_steel; + public static Item fins_big_steel; + public static Item fins_tri_steel; + public static Item fins_quad_titanium; + public static Item sphere_steel; + public static Item pedestal_steel; + public static Item dysfunctional_reactor; + + public static Item pellet_rtg; + + public static Item cell_empty; + public static Item cell_uf6; + public static Item cell_puf6; + public static Item cell_antimatter; + public static Item cell_deuterium; + public static Item cell_sas3; + + public static Item syringe_empty; + public static Item syringe_antidote; + public static Item syringe_awesome; + public static Item syringe_metal_empty; + public static Item syringe_metal_stimpak; + + public static Item rod_empty; + public static Item rod_uranium; + public static Item rod_u235; + public static Item rod_u238; + public static Item rod_plutonium; + public static Item rod_pu238; + public static Item rod_pu239; + public static Item rod_pu240; + public static Item rod_neptunium; + public static Item rod_lead; + public static Item rod_schrabidium; + + public static Item rod_dual_empty; + public static Item rod_dual_uranium; + public static Item rod_dual_u235; + public static Item rod_dual_u238; + public static Item rod_dual_plutonium; + public static Item rod_dual_pu238; + public static Item rod_dual_pu239; + public static Item rod_dual_pu240; + public static Item rod_dual_neptunium; + public static Item rod_dual_lead; + public static Item rod_dual_schrabidium; + + public static Item rod_quad_empty; + public static Item rod_quad_uranium; + public static Item rod_quad_u235; + public static Item rod_quad_u238; + public static Item rod_quad_plutonium; + public static Item rod_quad_pu238; + public static Item rod_quad_pu239; + public static Item rod_quad_pu240; + public static Item rod_quad_neptunium; + public static Item rod_quad_lead; + public static Item rod_quad_schrabidium; + + public static Item rod_uranium_fuel; + public static Item rod_dual_uranium_fuel; + public static Item rod_quad_uranium_fuel; + public static Item rod_plutonium_fuel; + public static Item rod_dual_plutonium_fuel; + public static Item rod_quad_plutonium_fuel; + public static Item rod_mox_fuel; + public static Item rod_dual_mox_fuel; + public static Item rod_quad_mox_fuel; + public static Item rod_schrabidium_fuel; + public static Item rod_dual_schrabidium_fuel; + public static Item rod_quad_schrabidium_fuel; + + public static Item rod_water; + public static Item rod_dual_water; + public static Item rod_quad_water; + + public static Item rod_coolant; + public static Item rod_dual_coolant; + public static Item rod_quad_coolant; + + public static Item trinitite; + public static Item nuclear_waste; + public static Item rod_uranium_fuel_depleted; + public static Item rod_dual_uranium_fuel_depleted; + public static Item rod_quad_uranium_fuel_depleted; + public static Item rod_plutonium_fuel_depleted; + public static Item rod_dual_plutonium_fuel_depleted; + public static Item rod_quad_plutonium_fuel_depleted; + public static Item rod_mox_fuel_depleted; + public static Item rod_dual_mox_fuel_depleted; + public static Item rod_quad_mox_fuel_depleted; + public static Item rod_schrabidium_fuel_depleted; + public static Item rod_dual_schrabidium_fuel_depleted; + public static Item rod_quad_schrabidium_fuel_depleted; + public static Item rod_waste; + public static Item rod_dual_waste; + public static Item rod_quad_waste; + + public static Item test_nuke_igniter; + public static Item test_nuke_propellant; + public static Item test_nuke_tier1_shielding; + public static Item test_nuke_tier2_shielding; + public static Item test_nuke_tier1_bullet; + public static Item test_nuke_tier2_bullet; + public static Item test_nuke_tier1_target; + public static Item test_nuke_tier2_target; + + public static Item pellet_cluster; + public static Item powder_fire; + public static Item powder_poison; + public static Item pellet_gas; + + public static Item designator; + + public static Item missile_generic; + public static Item missile_anti_ballistic; + public static Item missile_incendiary; + public static Item missile_cluster; + public static Item missile_buster; + public static Item missile_strong; + public static Item missile_incendiary_strong; + public static Item missile_cluster_strong; + public static Item missile_buster_strong; + public static Item missile_burst; + public static Item missile_inferno; + public static Item missile_rain; + public static Item missile_drill; + public static Item missile_nuclear; + public static Item missile_nuclear_cluster; + public static Item missile_endo; + public static Item missile_exo; + + public static Item gun_rpg; + public static Item gun_rpg_ammo; + public static Item gun_revolver; + public static Item gun_revolver_ammo; + public static Item gun_revolver_iron; + public static Item gun_revolver_iron_ammo; + public static Item gun_revolver_gold; + public static Item gun_revolver_gold_ammo; + public static Item gun_revolver_schrabidium; + public static Item gun_revolver_schrabidium_ammo; + public static Item gun_revolver_cursed; + public static Item gun_revolver_cursed_ammo; + public static Item gun_waluigi; + + public static Item grenade_generic; + public static Item grenade_strong; + public static Item grenade_frag; + public static Item grenade_fire; + public static Item grenade_cluster; + public static Item grenade_flare; + public static Item grenade_electric; + public static Item grenade_poison; + public static Item grenade_gas; + public static Item grenade_schrabidium; + public static Item grenade_nuke; + + public static Item bomb_waffle; + public static Item schnitzel_vegan; + public static Item cotton_candy; + public static Item apple_schrabidium; + + public static Item flame_pony; + public static Item flame_conspiracy; + public static Item flame_politics; + public static Item flame_opinion; + + public static Item gadget_explosive; + public static Item gadget_explosive8; + public static Item gadget_wireing; + public static Item gadget_core; + + public static Item boy_igniter; + public static Item boy_propellant; + public static Item boy_bullet; + public static Item boy_target; + public static Item boy_shielding; + + public static Item man_explosive; + public static Item man_explosive8; + public static Item man_igniter; + public static Item man_core; + + public static Item mike_core; + public static Item mike_deut; + public static Item mike_cooling_unit; + + public static Item tsar_core; + + public static Item fleija_igniter; + public static Item fleija_propellant; + public static Item fleija_core; + + public static Item battery_generic; + public static Item battery_advanced; + public static Item battery_schrabidium; + public static Item battery_creative; + + public static Item fusion_core; + + public static Item ingot_euphemium; + public static Item nugget_euphemium; + public static Item rod_quad_euphemium; + public static Item euphemium_helmet; + public static Item euphemium_plate; + public static Item euphemium_legs; + public static Item euphemium_boots; + public static Item apple_euphemium; + public static Item watch; + + public static Item goggles; + public static Item gas_mask; + + public static Item t45_helmet; + public static Item t45_plate; + public static Item t45_legs; + public static Item t45_boots; + + public static Item schrabidium_helmet; + public static Item schrabidium_plate; + public static Item schrabidium_legs; + public static Item schrabidium_boots; + + public static Item schrabidium_sword; + public static Item schrabidium_pickaxe; + public static Item schrabidium_axe; + public static Item schrabidium_shovel; + public static Item schrabidium_hoe; + + public static Item mask_of_infamy; + + public static Item hazmat_helmet; + public static Item hazmat_plate; + public static Item hazmat_legs; + public static Item hazmat_boots; + + public static Item nuke_starter_kit; + public static Item nuke_advanced_kit; + public static Item nuke_commercially_kit; + public static Item nuke_electric_kit; + public static Item gadget_kit; + public static Item boy_kit; + public static Item man_kit; + public static Item mike_kit; + public static Item tsar_kit; + public static Item multi_kit; + public static Item grenade_kit; + public static Item fleija_kit; + public static Item prototype_kit; + + public static Item igniter; + + public static void initializeItem() + { + redstone_sword = new RedstoneSword(ToolMaterial.STONE).setUnlocalizedName("redstone_sword").setCreativeTab(CreativeTabs.tabCombat).setTextureName(RefStrings.MODID + ":redstone_sword"); + big_sword = new BigSword(ToolMaterial.EMERALD).setUnlocalizedName("big_sword").setCreativeTab(CreativeTabs.tabCombat).setTextureName(RefStrings.MODID + ":big_sword"); + + test_helmet = new ArmorTest(MainRegistry.enumArmorMaterialEmerald, 5, 0).setUnlocalizedName("test_helmet").setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_helmet"); + test_chestplate = new ArmorTest(MainRegistry.enumArmorMaterialEmerald, 5, 1).setUnlocalizedName("test_chestplate").setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_chestplate"); + test_leggings = new ArmorTest(MainRegistry.enumArmorMaterialEmerald, 5, 2).setUnlocalizedName("test_leggings").setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_leggings"); + test_boots = new ArmorTest(MainRegistry.enumArmorMaterialEmerald, 5, 3).setUnlocalizedName("test_boots").setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_boots"); + + test_nuke_igniter = new Item().setUnlocalizedName("test_nuke_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_igniter"); + test_nuke_propellant = new Item().setUnlocalizedName("test_nuke_propellant").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_propellant"); + test_nuke_tier1_shielding = new Item().setUnlocalizedName("test_nuke_tier1_shielding").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier1_shielding"); + test_nuke_tier2_shielding = new Item().setUnlocalizedName("test_nuke_tier2_shielding").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier2_shielding"); + test_nuke_tier1_bullet = new Item().setUnlocalizedName("test_nuke_tier1_bullet").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier1_bullet"); + test_nuke_tier2_bullet = new Item().setUnlocalizedName("test_nuke_tier2_bullet").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier2_bullet"); + test_nuke_tier1_target = new Item().setUnlocalizedName("test_nuke_tier1_target").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier1_target"); + test_nuke_tier2_target = new Item().setUnlocalizedName("test_nuke_tier2_target").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier2_target"); + + ingot_uranium = new Item().setUnlocalizedName("ingot_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_u235 = new Item().setUnlocalizedName("ingot_u235").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_u238 = new Item().setUnlocalizedName("ingot_u238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_plutonium = new Item().setUnlocalizedName("ingot_plutonium").setCreativeTab(MainRegistry.tabParts).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_pu238 = new Item().setUnlocalizedName("ingot_pu238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_pu239 = new Item().setUnlocalizedName("ingot_pu239").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_pu240 = new Item().setUnlocalizedName("ingot_pu240").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_neptunium = new ItemCustomLore().setUnlocalizedName("ingot_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_neptunium"); + ingot_titanium = new Item().setUnlocalizedName("ingot_titanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_titanium"); + sulfur = new Item().setUnlocalizedName("sulfur").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":sulfur"); + + ingot_uranium_fuel = new Item().setUnlocalizedName("ingot_uranium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_plutonium_fuel = new Item().setUnlocalizedName("ingot_plutonium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_mox_fuel = new Item().setUnlocalizedName("ingot_mox_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_mox_fuel"); + ingot_schrabidium_fuel = new Item().setUnlocalizedName("ingot_schrabidium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_schrabidium_fuel"); + nugget_uranium_fuel = new Item().setUnlocalizedName("nugget_uranium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_plutonium_fuel = new Item().setUnlocalizedName("nugget_plutonium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_mox_fuel = new Item().setUnlocalizedName("nugget_mox_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_mox_fuel"); + nugget_schrabidium_fuel = new Item().setUnlocalizedName("nugget_schrabidium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_schrabidium_fuel"); + + niter = new Item().setUnlocalizedName("niter").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":salpeter"); + ingot_copper = new Item().setUnlocalizedName("ingot_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_copper"); + ingot_red_copper = new Item().setUnlocalizedName("ingot_red_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_red_copper"); + ingot_tungsten = new Item().setUnlocalizedName("ingot_tungsten").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_tungsten"); + ingot_aluminium = new Item().setUnlocalizedName("ingot_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_aluminium"); + fluorite = new Item().setUnlocalizedName("fluorite").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fluorite"); + ingot_beryllium = new Item().setUnlocalizedName("ingot_beryllium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_beryllium"); + ingot_steel = new Item().setUnlocalizedName("ingot_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_steel"); + plate_steel = new Item().setUnlocalizedName("plate_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_steel"); + plate_iron = new Item().setUnlocalizedName("plate_iron").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_iron"); + ingot_lead = new Item().setUnlocalizedName("ingot_lead").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_lead"); + plate_lead = new Item().setUnlocalizedName("plate_lead").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_lead"); + ingot_schrabidium = new ItemCustomLore().setUnlocalizedName("ingot_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_schrabidium"); + plate_schrabidium = new ItemCustomLore().setUnlocalizedName("plate_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_schrabidium"); + plate_copper = new Item().setUnlocalizedName("plate_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_copper"); + plate_gold = new Item().setUnlocalizedName("plate_gold").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_gold"); + + nugget_uranium = new Item().setUnlocalizedName("nugget_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_u235 = new Item().setUnlocalizedName("nugget_u235").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_u238 = new Item().setUnlocalizedName("nugget_u238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_plutonium = new Item().setUnlocalizedName("nugget_plutonium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_pu238 = new Item().setUnlocalizedName("nugget_pu238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_pu239 = new Item().setUnlocalizedName("nugget_pu239").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_pu240 = new Item().setUnlocalizedName("nugget_pu240").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_neptunium = new Item().setUnlocalizedName("nugget_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_neptunium"); + plate_titanium = new Item().setUnlocalizedName("plate_titanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_titanium"); + plate_aluminium = new Item().setUnlocalizedName("plate_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_aluminium"); + wire_red_copper = new Item().setUnlocalizedName("wire_red_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_red_copper"); + wire_tungsten = new ItemCustomLore().setUnlocalizedName("wire_tungsten").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_tungsten"); + neutron_reflector = new Item().setUnlocalizedName("neutron_reflector").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":neutron_reflector"); + nugget_lead = new Item().setUnlocalizedName("nugget_lead").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_lead"); + 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"); + + powder_lead = new Item().setUnlocalizedName("powder_lead").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_lead"); + powder_neptunium = new Item().setUnlocalizedName("powder_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_neptunium"); + powder_schrabidium = new ItemCustomLore().setUnlocalizedName("powder_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_schrabidium"); + + coil_copper = new Item().setUnlocalizedName("coil_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":coil_copper"); + coil_copper_torus = new Item().setUnlocalizedName("coil_copper_torus").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":coil_copper_torus"); + coil_tungsten = new Item().setUnlocalizedName("coil_tungsten").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":coil_tungsten"); + tank_steel = new Item().setUnlocalizedName("tank_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":tank_steel"); + motor = new Item().setUnlocalizedName("motor").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":motor"); + centrifuge_element = new Item().setUnlocalizedName("centrifuge_element").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":centrifuge_element"); + centrifuge_tower = new Item().setUnlocalizedName("centrifuge_tower").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":centrifuge_tower"); + reactor_core = new Item().setUnlocalizedName("reactor_core").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":reactor_core"); + rtg_unit = new Item().setUnlocalizedName("rtg_unit").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":rtg_unit"); + thermo_unit_empty = new Item().setUnlocalizedName("thermo_unit_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":thermo_unit_empty"); + thermo_unit_endo= new Item().setUnlocalizedName("thermo_unit_endo").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":thermo_unit_endo"); + thermo_unit_exo = new Item().setUnlocalizedName("thermo_unit_exo").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":thermo_unit_exo"); + levitation_unit = new Item().setUnlocalizedName("levitation_unit").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":levitation_unit"); + wire_aluminium = new Item().setUnlocalizedName("wire_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_aluminium"); + wire_copper = new Item().setUnlocalizedName("wire_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_copper"); + wire_gold = new Item().setUnlocalizedName("wire_gold").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_gold"); + wire_schrabidium = new ItemCustomLore().setUnlocalizedName("wire_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_schrabidium"); + + cap_aluminium = new Item().setUnlocalizedName("cap_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":cap_aluminium"); + hull_small_steel = new Item().setUnlocalizedName("hull_small_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":hull_small_steel"); + hull_small_aluminium = new Item().setUnlocalizedName("hull_small_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":hull_small_aluminium"); + hull_big_steel = new Item().setUnlocalizedName("hull_big_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":hull_big_steel"); + hull_big_aluminium = new Item().setUnlocalizedName("hull_big_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":hull_big_aluminium"); + hull_big_titanium = new Item().setUnlocalizedName("hull_big_titanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":hull_big_titanium"); + fins_flat = new Item().setUnlocalizedName("fins_flat").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fins_flat"); + fins_small_steel = new Item().setUnlocalizedName("fins_small_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fins_small_steel"); + fins_big_steel = new Item().setUnlocalizedName("fins_big_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fins_big_steel"); + fins_tri_steel = new Item().setUnlocalizedName("fins_tri_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fins_tri_steel"); + fins_quad_titanium = new Item().setUnlocalizedName("fins_quad_titanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fins_quad_titanium"); + sphere_steel = new Item().setUnlocalizedName("sphere_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":sphere_steel"); + pedestal_steel = new Item().setUnlocalizedName("pedestal_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pedestal_steel"); + dysfunctional_reactor = new Item().setUnlocalizedName("dysfunctional_reactor").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dysfunctional_reactor"); + + circuit_aluminium = new Item().setUnlocalizedName("circuit_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":circuit_aluminium"); + circuit_copper = new Item().setUnlocalizedName("circuit_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":circuit_copper"); + circuit_red_copper = new Item().setUnlocalizedName("circuit_red_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":circuit_red_copper"); + circuit_gold = new Item().setUnlocalizedName("circuit_gold").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":circuit_gold"); + circuit_schrabidium = new ItemCustomLore().setUnlocalizedName("circuit_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":circuit_schrabidium"); + + pellet_rtg = new ItemCustomLore().setUnlocalizedName("pellet_rtg").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_rtg"); + + cell_empty = new Item().setUnlocalizedName("cell_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":cell_empty"); + cell_uf6 = new Item().setUnlocalizedName("cell_uf6").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_uf6"); + cell_puf6 = new Item().setUnlocalizedName("cell_puf6").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_puf6"); + cell_antimatter = new Item().setUnlocalizedName("cell_antimatter").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_antimatter"); + cell_deuterium = new Item().setUnlocalizedName("cell_deuterium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_deuterium"); + cell_sas3 = new ItemCustomLore().setUnlocalizedName("cell_sas3").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_sas3"); + + syringe_empty = new Item().setUnlocalizedName("syringe_empty").setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":syringe_empty"); + syringe_antidote = new ItemSyringe().setUnlocalizedName("syringe_antidote").setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":syringe_antidote"); + syringe_awesome = new ItemSyringe().setUnlocalizedName("syringe_awesome").setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":syringe_awesome"); + syringe_metal_empty = new Item().setUnlocalizedName("syringe_metal_empty").setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":syringe_metal_empty"); + syringe_metal_stimpak = new ItemSyringe().setUnlocalizedName("syringe_metal_stimpak").setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":syringe_metal_stimpak"); + + rod_empty = new Item().setUnlocalizedName("rod_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":rod_empty"); + rod_uranium = new ItemCustomLore().setUnlocalizedName("rod_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_uranium"); + rod_u235 = new ItemCustomLore().setUnlocalizedName("rod_u235").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_uranium"); + rod_u238 = new ItemCustomLore().setUnlocalizedName("rod_u238").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_uranium"); + rod_plutonium = new ItemCustomLore().setUnlocalizedName("rod_plutonium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_plutonium"); + rod_pu238 = new ItemCustomLore().setUnlocalizedName("rod_pu238").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_plutonium"); + rod_pu239 = new ItemCustomLore().setUnlocalizedName("rod_pu239").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_plutonium"); + rod_pu240 = new ItemCustomLore().setUnlocalizedName("rod_pu240").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_plutonium"); + rod_neptunium = new ItemCustomLore().setUnlocalizedName("rod_neptunium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_neptunium"); + rod_lead = new Item().setUnlocalizedName("rod_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_lead"); + rod_schrabidium = new ItemCustomLore().setUnlocalizedName("rod_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_schrabidium"); + + rod_dual_empty = new Item().setUnlocalizedName("rod_dual_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":rod_dual_empty"); + rod_dual_uranium = new ItemCustomLore().setUnlocalizedName("rod_dual_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_uranium"); + rod_dual_u235 = new ItemCustomLore().setUnlocalizedName("rod_dual_u235").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_uranium"); + rod_dual_u238 = new ItemCustomLore().setUnlocalizedName("rod_dual_u238").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_uranium"); + rod_dual_plutonium = new ItemCustomLore().setUnlocalizedName("rod_dual_plutonium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_plutonium"); + rod_dual_pu238 = new ItemCustomLore().setUnlocalizedName("rod_dual_pu238").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_plutonium"); + rod_dual_pu239 = new ItemCustomLore().setUnlocalizedName("rod_dual_pu239").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_plutonium"); + rod_dual_pu240 = new ItemCustomLore().setUnlocalizedName("rod_dual_pu240").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_plutonium"); + rod_dual_neptunium = new ItemCustomLore().setUnlocalizedName("rod_dual_neptunium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_neptunium"); + rod_dual_lead = new Item().setUnlocalizedName("rod_dual_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_lead"); + rod_dual_schrabidium = new ItemCustomLore().setUnlocalizedName("rod_dual_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_schrabidium"); + + rod_quad_empty = new Item().setUnlocalizedName("rod_quad_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":rod_quad_empty"); + rod_quad_uranium = new ItemCustomLore().setUnlocalizedName("rod_quad_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_uranium"); + rod_quad_u235 = new ItemCustomLore().setUnlocalizedName("rod_quad_u235").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_uranium"); + rod_quad_u238 = new ItemCustomLore().setUnlocalizedName("rod_quad_u238").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_uranium"); + rod_quad_plutonium = new ItemCustomLore().setUnlocalizedName("rod_quad_plutonium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_plutonium"); + rod_quad_pu238 = new ItemCustomLore().setUnlocalizedName("rod_quad_pu238").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_plutonium"); + rod_quad_pu239 = new ItemCustomLore().setUnlocalizedName("rod_quad_pu239").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_plutonium"); + rod_quad_pu240 = new ItemCustomLore().setUnlocalizedName("rod_quad_pu240").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_plutonium"); + rod_quad_neptunium = new ItemCustomLore().setUnlocalizedName("rod_quad_neptunium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_neptunium"); + rod_quad_lead = new Item().setUnlocalizedName("rod_quad_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_lead"); + rod_quad_schrabidium = new ItemCustomLore().setUnlocalizedName("rod_quad_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_schrabidium"); + + rod_uranium_fuel = new ItemFuelRod().setUnlocalizedName("rod_uranium_fuel").setMaxStackSize(1).setMaxDamage(10000).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_uranium"); + rod_dual_uranium_fuel = new ItemFuelRod().setUnlocalizedName("rod_dual_uranium_fuel").setMaxStackSize(1).setMaxDamage(20000).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_uranium"); + rod_quad_uranium_fuel = new ItemFuelRod().setUnlocalizedName("rod_quad_uranium_fuel").setMaxStackSize(1).setMaxDamage(40000).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_uranium"); + rod_plutonium_fuel = new ItemFuelRod().setUnlocalizedName("rod_plutonium_fuel").setMaxStackSize(1).setMaxDamage(25000).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_plutonium"); + rod_dual_plutonium_fuel = new ItemFuelRod().setUnlocalizedName("rod_dual_plutonium_fuel").setMaxStackSize(1).setMaxDamage(50000).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_plutonium"); + rod_quad_plutonium_fuel = new ItemFuelRod().setUnlocalizedName("rod_quad_plutonium_fuel").setMaxStackSize(1).setMaxDamage(100000).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_plutonium"); + rod_mox_fuel = new ItemFuelRod().setUnlocalizedName("rod_mox_fuel").setMaxStackSize(1).setMaxDamage(100000).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_mox_fuel"); + rod_dual_mox_fuel = new ItemFuelRod().setUnlocalizedName("rod_dual_mox_fuel").setMaxStackSize(1).setMaxDamage(200000).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_mox_fuel"); + rod_quad_mox_fuel = new ItemFuelRod().setUnlocalizedName("rod_quad_mox_fuel").setMaxStackSize(1).setMaxDamage(400000).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_mox_fuel"); + rod_schrabidium_fuel = new ItemFuelRod().setUnlocalizedName("rod_schrabidium_fuel").setMaxStackSize(1).setMaxDamage(2500000).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_schrabidium_fuel"); + rod_dual_schrabidium_fuel = new ItemFuelRod().setUnlocalizedName("rod_dual_schrabidium_fuel").setMaxStackSize(1).setMaxDamage(5000000).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_schrabidium_fuel"); + rod_quad_schrabidium_fuel = new ItemFuelRod().setUnlocalizedName("rod_quad_schrabidium_fuel").setMaxStackSize(1).setMaxDamage(10000000).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_schrabidium_fuel"); + + rod_water= new ItemCustomLore().setUnlocalizedName("rod_water").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_water"); + rod_dual_water = new ItemCustomLore().setUnlocalizedName("rod_dual_water").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_water"); + rod_quad_water = new ItemCustomLore().setUnlocalizedName("rod_quad_water").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_water"); + + rod_coolant = new ItemCustomLore().setUnlocalizedName("rod_coolant").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_coolant"); + rod_dual_coolant = new ItemCustomLore().setUnlocalizedName("rod_dual_coolant").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_coolant"); + rod_quad_coolant = new ItemCustomLore().setUnlocalizedName("rod_quad_coolant").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_coolant"); + + 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"); + 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"); + + 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"); + powder_poison = new ItemCustomLore().setUnlocalizedName("powder_poison").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_poison"); + pellet_gas = new ItemCustomLore().setUnlocalizedName("pellet_gas").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_gas"); + + designator = new ItemDesingator().setUnlocalizedName("designator").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":designator"); + missile_generic = new Item().setUnlocalizedName("missile_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_generic"); + missile_anti_ballistic = new Item().setUnlocalizedName("missile_anti_ballistic").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_anti_ballistic"); + missile_incendiary = new Item().setUnlocalizedName("missile_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_incendiary"); + missile_cluster = new Item().setUnlocalizedName("missile_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_cluster"); + missile_buster = new Item().setUnlocalizedName("missile_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_buster"); + missile_strong = new Item().setUnlocalizedName("missile_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_strong"); + missile_incendiary_strong = new Item().setUnlocalizedName("missile_incendiary_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_incendiary_strong"); + missile_cluster_strong = new Item().setUnlocalizedName("missile_cluster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_cluster_strong"); + missile_buster_strong = new Item().setUnlocalizedName("missile_buster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_buster_strong"); + missile_burst = new Item().setUnlocalizedName("missile_burst").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_burst"); + missile_inferno = new Item().setUnlocalizedName("missile_inferno").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_inferno"); + missile_rain = new Item().setUnlocalizedName("missile_rain").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_rain"); + missile_drill = new Item().setUnlocalizedName("missile_drill").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_drill"); + missile_nuclear = new Item().setUnlocalizedName("missile_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_nuclear"); + missile_nuclear_cluster = new Item().setUnlocalizedName("missile_nuclear_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_nuclear_cluster"); + missile_endo = new Item().setUnlocalizedName("missile_endo").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_endo"); + missile_exo = new Item().setUnlocalizedName("missile_exo").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_exo"); + + gun_rpg = new GunRpg().setUnlocalizedName("gun_rpg").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_rpg"); + gun_rpg_ammo = new Item().setUnlocalizedName("gun_rpg_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_rpg_ammo"); + gun_revolver_ammo = new Item().setUnlocalizedName("gun_revolver_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_revolver_ammo"); + gun_revolver = new GunRevolver(gun_revolver_ammo, 10, 25, false).setMaxDamage(500).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_revolver"); + gun_revolver_iron_ammo = new Item().setUnlocalizedName("gun_revolver_iron_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_revolver_iron_ammo"); + gun_revolver_iron = new GunRevolver(gun_revolver_iron_ammo, 5, 15, false).setMaxDamage(100).setUnlocalizedName("gun_revolver_iron").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_revolver_iron"); + gun_revolver_gold_ammo = new Item().setUnlocalizedName("gun_revolver_gold_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_revolver_gold_ammo"); + gun_revolver_gold = new GunRevolver(gun_revolver_gold_ammo, 20, 30, false).setMaxDamage(1000).setUnlocalizedName("gun_revolver_gold").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_revolver_gold"); + gun_revolver_schrabidium_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_schrabidium_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_revolver_schrabidium_ammo"); + gun_revolver_schrabidium = new GunRevolver(gun_revolver_schrabidium_ammo, 10000, 100000, true).setMaxDamage(100000).setUnlocalizedName("gun_revolver_schrabidium").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_revolver_schrabidium"); + gun_revolver_cursed_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_cursed_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_revolver_cursed_ammo"); + gun_revolver_cursed = new GunRevolver(gun_revolver_cursed_ammo, 25, 40, false).setMaxDamage(5000).setUnlocalizedName("gun_revolver_cursed").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_revolver_cursed"); + + 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_schrabidium = new ItemGrenade().setUnlocalizedName("grenade_schrabidium").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_schrabidium"); + grenade_nuke = new ItemGrenade().setUnlocalizedName("grenade_nuke").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_nuke"); + + 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"); + cotton_candy = new ItemCottonCandy(5, false).setUnlocalizedName("cotton_candy").setCreativeTab(MainRegistry.tabNuke).setFull3D().setTextureName(RefStrings.MODID + ":cotton_candy"); + apple_schrabidium = new ItemAppleSchrabidium(20, 100, false).setUnlocalizedName("apple_schrabidium").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":apple_schrabidium"); + + flame_pony = new ItemCustomLore().setUnlocalizedName("flame_pony").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":flame_pony"); + flame_conspiracy = new ItemCustomLore().setUnlocalizedName("flame_conspiracy").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":flame_conspiracy"); + flame_politics = new ItemCustomLore().setUnlocalizedName("flame_politics").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":flame_politics"); + flame_opinion = new ItemCustomLore().setUnlocalizedName("flame_opinion").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":flame_opinion"); + + gadget_explosive = new Item().setUnlocalizedName("gadget_explosive").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gadget_explosive"); + gadget_explosive8 = new ItemGadget().setUnlocalizedName("gadget_explosive8").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gadget_explosive8"); + gadget_wireing = new ItemGadget().setUnlocalizedName("gadget_wireing").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gadget_wireing"); + gadget_core = new ItemGadget().setUnlocalizedName("gadget_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gadget_core"); + + boy_igniter = new ItemBoy().setUnlocalizedName("boy_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":boy_igniter"); + boy_propellant = new ItemBoy().setUnlocalizedName("boy_propellant").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":boy_propellant"); + boy_bullet = new ItemBoy().setUnlocalizedName("boy_bullet").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":boy_bullet"); + boy_target = new ItemBoy().setUnlocalizedName("boy_target").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":boy_target"); + boy_shielding = new ItemBoy().setUnlocalizedName("boy_shielding").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":boy_shielding"); + + man_explosive = new Item().setUnlocalizedName("man_explosive").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":man_explosive"); + man_explosive8 = new ItemManMike().setUnlocalizedName("man_explosive8").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":man_explosive8"); + man_igniter = new ItemMan().setUnlocalizedName("man_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":man_igniter"); + man_core = new ItemManMike().setUnlocalizedName("man_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":man_core"); + + mike_core = new ItemMike().setUnlocalizedName("mike_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":mike_core"); + mike_deut = new ItemMike().setUnlocalizedName("mike_deut").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setContainerItem(ModItems.tank_steel).setTextureName(RefStrings.MODID + ":mike_deut"); + mike_cooling_unit = new ItemMike().setUnlocalizedName("mike_cooling_unit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":mike_cooling_unit"); + + tsar_core = new ItemTsar().setUnlocalizedName("tsar_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":tsar_core"); + + fleija_igniter = new ItemFleija().setUnlocalizedName("fleija_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":fleija_igniter"); + fleija_propellant = new ItemFleija().setUnlocalizedName("fleija_propellant").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":fleija_propellant"); + fleija_core = new ItemFleija().setUnlocalizedName("fleija_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":fleija_core"); + + battery_generic = new ItemBattery(50).setUnlocalizedName("battery_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_generic"); + battery_advanced = new ItemBattery(200).setUnlocalizedName("battery_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_advanced"); + battery_schrabidium = new ItemBattery(1000).setUnlocalizedName("battery_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium"); + battery_creative = new Item().setUnlocalizedName("battery_creative").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_creative"); + + fusion_core = new ItemBattery(5000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fusion_core"); + + nuke_starter_kit = new ItemStarterKit().setUnlocalizedName("nuke_starter_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":nuke_starter_kit"); + nuke_advanced_kit = new ItemStarterKit().setUnlocalizedName("nuke_advanced_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":nuke_advanced_kit"); + nuke_commercially_kit = new ItemStarterKit().setUnlocalizedName("nuke_commercially_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":nuke_commercially_kit"); + nuke_electric_kit = new ItemStarterKit().setUnlocalizedName("nuke_electric_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":nuke_electric_kit"); + gadget_kit = new ItemStarterKit().setUnlocalizedName("gadget_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gadget_kit"); + boy_kit = new ItemStarterKit().setUnlocalizedName("boy_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":boy_kit"); + man_kit = new ItemStarterKit().setUnlocalizedName("man_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":man_kit"); + mike_kit = new ItemStarterKit().setUnlocalizedName("mike_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":mike_kit"); + tsar_kit = new ItemStarterKit().setUnlocalizedName("tsar_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":tsar_kit"); + multi_kit = new ItemStarterKit().setUnlocalizedName("multi_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":multi_kit"); + grenade_kit = new ItemStarterKit().setUnlocalizedName("grenade_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_kit"); + fleija_kit = new ItemStarterKit().setUnlocalizedName("fleija_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":fleija_kit"); + prototype_kit = new ItemStarterKit().setUnlocalizedName("prototype_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":prototype_kit"); + + igniter = new ItemCustomLore().setUnlocalizedName("igniter").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":trigger"); + ingot_euphemium = new ItemCustomLore().setUnlocalizedName("ingot_euphemium").setTextureName(RefStrings.MODID + ":ingot_euphemium"); + nugget_euphemium = new ItemCustomLore().setUnlocalizedName("nugget_euphemium").setTextureName(RefStrings.MODID + ":nugget_euphemium"); + rod_quad_euphemium = new ItemCustomLore().setUnlocalizedName("rod_quad_euphemium").setMaxStackSize(1).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_euphemium"); + watch = new ItemCustomLore().setUnlocalizedName("watch").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":watch"); + apple_euphemium = new ItemAppleEuphemium(20, 100, false).setUnlocalizedName("apple_euphemium").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":apple_euphemium"); + + 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"); + euphemium_legs = new ArmorEuphemium(MainRegistry.enumArmorMaterialEuphemium, 6, 2).setUnlocalizedName("euphemium_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_legs"); + euphemium_boots = new ArmorEuphemium(MainRegistry.enumArmorMaterialEuphemium, 6, 3).setUnlocalizedName("euphemium_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_boots"); + + goggles = new ArmorModel(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("goggles").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":goggles"); + gas_mask = new ArmorModel(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("gas_mask").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask"); + + t45_helmet = new ArmorT45(MainRegistry.enumArmorMaterialT45, 2, 0).setUnlocalizedName("t45_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_helmet"); + t45_plate = new ArmorT45(MainRegistry.enumArmorMaterialT45, 2, 1).setUnlocalizedName("t45_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_plate"); + t45_legs = new ArmorT45(MainRegistry.enumArmorMaterialT45, 2, 2).setUnlocalizedName("t45_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_legs"); + t45_boots = new ArmorT45(MainRegistry.enumArmorMaterialT45, 2, 3).setUnlocalizedName("t45_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_boots"); + + schrabidium_helmet = new ArmorSchrabidium(MainRegistry.enumArmorMaterialSchrabidium, 7, 0).setUnlocalizedName("schrabidium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_helmet"); + 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"); + + 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"); + schrabidium_axe = new AxeSchrabidium(MainRegistry.enumToolMaterialSchrabidium).setUnlocalizedName("schrabidium_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_axe"); + schrabidium_shovel = new SpadeSchrabidium(MainRegistry.enumToolMaterialSchrabidium).setUnlocalizedName("schrabidium_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_shovel"); + schrabidium_hoe = new HoeSchrabidium(MainRegistry.enumToolMaterialSchrabidium).setUnlocalizedName("schrabidium_hoe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_hoe"); + + mask_of_infamy = new MaskOfInfamy(ArmorMaterial.IRON, 8, 0).setUnlocalizedName("mask_of_infamy").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mask_of_infamy"); + + hazmat_helmet = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat, 9, 0).setUnlocalizedName("hazmat_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_helmet"); + 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"); + } + + private static void registerItem() { + //Weapons + GameRegistry.registerItem(redstone_sword, redstone_sword.getUnlocalizedName()); + GameRegistry.registerItem(big_sword, big_sword.getUnlocalizedName()); + + //Test Armor + GameRegistry.registerItem(test_helmet, test_helmet.getUnlocalizedName()); + GameRegistry.registerItem(test_chestplate, test_chestplate.getUnlocalizedName()); + GameRegistry.registerItem(test_leggings, test_leggings.getUnlocalizedName()); + GameRegistry.registerItem(test_boots, test_boots.getUnlocalizedName()); + + //Test Nuke + GameRegistry.registerItem(test_nuke_igniter, test_nuke_igniter.getUnlocalizedName()); + GameRegistry.registerItem(test_nuke_propellant, test_nuke_propellant.getUnlocalizedName()); + GameRegistry.registerItem(test_nuke_tier1_shielding, test_nuke_tier1_shielding.getUnlocalizedName()); + GameRegistry.registerItem(test_nuke_tier2_shielding, test_nuke_tier2_shielding.getUnlocalizedName()); + GameRegistry.registerItem(test_nuke_tier1_bullet, test_nuke_tier1_bullet.getUnlocalizedName()); + GameRegistry.registerItem(test_nuke_tier2_bullet, test_nuke_tier2_bullet.getUnlocalizedName()); + GameRegistry.registerItem(test_nuke_tier1_target, test_nuke_tier1_target.getUnlocalizedName()); + GameRegistry.registerItem(test_nuke_tier2_target, test_nuke_tier2_target.getUnlocalizedName()); + + //Ingots + GameRegistry.registerItem(ingot_uranium, ingot_uranium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_u235, ingot_u235.getUnlocalizedName()); + GameRegistry.registerItem(ingot_u238, ingot_u238.getUnlocalizedName()); + GameRegistry.registerItem(ingot_plutonium, ingot_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_pu238, ingot_pu238.getUnlocalizedName()); + GameRegistry.registerItem(ingot_pu239, ingot_pu239.getUnlocalizedName()); + GameRegistry.registerItem(ingot_pu240, ingot_pu240.getUnlocalizedName()); + GameRegistry.registerItem(ingot_neptunium, ingot_neptunium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_titanium, ingot_titanium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_copper, ingot_copper.getUnlocalizedName()); + GameRegistry.registerItem(ingot_red_copper, ingot_red_copper.getUnlocalizedName()); + GameRegistry.registerItem(ingot_tungsten, ingot_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(ingot_aluminium, ingot_aluminium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_steel, ingot_steel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_lead, ingot_lead.getUnlocalizedName()); + GameRegistry.registerItem(ingot_beryllium, ingot_beryllium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_schrabidium, ingot_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_uranium_fuel, ingot_uranium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_plutonium_fuel, ingot_plutonium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_mox_fuel, ingot_mox_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_schrabidium_fuel, ingot_schrabidium_fuel.getUnlocalizedName()); + + //Dusts & Other + GameRegistry.registerItem(sulfur, sulfur.getUnlocalizedName()); + GameRegistry.registerItem(niter, niter.getUnlocalizedName()); + GameRegistry.registerItem(fluorite, fluorite.getUnlocalizedName()); + GameRegistry.registerItem(powder_lead, powder_lead.getUnlocalizedName()); + GameRegistry.registerItem(powder_neptunium, powder_neptunium.getUnlocalizedName()); + GameRegistry.registerItem(powder_schrabidium, powder_schrabidium.getUnlocalizedName()); + + //Powders + GameRegistry.registerItem(powder_fire, powder_fire.getUnlocalizedName()); + GameRegistry.registerItem(powder_poison, powder_poison.getUnlocalizedName()); + + //Nuggets + GameRegistry.registerItem(nugget_uranium, nugget_uranium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_u235, nugget_u235.getUnlocalizedName()); + GameRegistry.registerItem(nugget_u238, nugget_u238.getUnlocalizedName()); + GameRegistry.registerItem(nugget_plutonium, nugget_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_pu238, nugget_pu238.getUnlocalizedName()); + GameRegistry.registerItem(nugget_pu239, nugget_pu239.getUnlocalizedName()); + GameRegistry.registerItem(nugget_pu240, nugget_pu240.getUnlocalizedName()); + GameRegistry.registerItem(nugget_neptunium, nugget_neptunium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_lead, nugget_lead.getUnlocalizedName()); + GameRegistry.registerItem(nugget_beryllium, nugget_beryllium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_schrabidium, nugget_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_uranium_fuel, nugget_uranium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(nugget_plutonium_fuel, nugget_plutonium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(nugget_mox_fuel, nugget_mox_fuel.getUnlocalizedName()); + GameRegistry.registerItem(nugget_schrabidium_fuel, nugget_schrabidium_fuel.getUnlocalizedName()); + + //Plates + GameRegistry.registerItem(plate_titanium, plate_titanium.getUnlocalizedName()); + GameRegistry.registerItem(plate_aluminium, plate_aluminium.getUnlocalizedName()); + GameRegistry.registerItem(plate_iron, plate_iron.getUnlocalizedName()); + GameRegistry.registerItem(plate_steel, plate_steel.getUnlocalizedName()); + GameRegistry.registerItem(plate_lead, plate_lead.getUnlocalizedName()); + GameRegistry.registerItem(neutron_reflector, neutron_reflector.getUnlocalizedName()); + GameRegistry.registerItem(plate_schrabidium, plate_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(plate_copper, plate_copper.getUnlocalizedName()); + GameRegistry.registerItem(plate_gold, plate_gold.getUnlocalizedName()); + + //Wires + GameRegistry.registerItem(wire_aluminium, wire_aluminium.getUnlocalizedName()); + GameRegistry.registerItem(wire_copper, wire_copper.getUnlocalizedName()); + GameRegistry.registerItem(wire_tungsten, wire_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(wire_red_copper, wire_red_copper.getUnlocalizedName()); + GameRegistry.registerItem(wire_gold, wire_gold.getUnlocalizedName()); + GameRegistry.registerItem(wire_schrabidium, wire_schrabidium.getUnlocalizedName()); + + //Parts + GameRegistry.registerItem(coil_copper, coil_copper.getUnlocalizedName()); + GameRegistry.registerItem(coil_copper_torus, coil_copper_torus.getUnlocalizedName()); + GameRegistry.registerItem(coil_tungsten, coil_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(tank_steel, tank_steel.getUnlocalizedName()); + GameRegistry.registerItem(motor, motor.getUnlocalizedName()); + GameRegistry.registerItem(centrifuge_element, centrifuge_element.getUnlocalizedName()); + GameRegistry.registerItem(centrifuge_tower, centrifuge_tower.getUnlocalizedName()); + GameRegistry.registerItem(reactor_core, reactor_core.getUnlocalizedName()); + GameRegistry.registerItem(rtg_unit, rtg_unit.getUnlocalizedName()); + GameRegistry.registerItem(thermo_unit_empty, thermo_unit_empty.getUnlocalizedName()); + GameRegistry.registerItem(thermo_unit_endo, thermo_unit_endo.getUnlocalizedName()); + GameRegistry.registerItem(thermo_unit_exo, thermo_unit_exo.getUnlocalizedName()); + GameRegistry.registerItem(levitation_unit, levitation_unit.getUnlocalizedName()); + + //Bomb Parts + GameRegistry.registerItem(cap_aluminium, cap_aluminium.getUnlocalizedName()); + GameRegistry.registerItem(hull_small_steel, hull_small_steel.getUnlocalizedName()); + GameRegistry.registerItem(hull_small_aluminium, hull_small_aluminium.getUnlocalizedName()); + GameRegistry.registerItem(hull_big_steel, hull_big_steel.getUnlocalizedName()); + GameRegistry.registerItem(hull_big_aluminium, hull_big_aluminium.getUnlocalizedName()); + GameRegistry.registerItem(hull_big_titanium, hull_big_titanium.getUnlocalizedName()); + GameRegistry.registerItem(fins_flat, fins_flat.getUnlocalizedName()); + GameRegistry.registerItem(fins_small_steel, fins_small_steel.getUnlocalizedName()); + GameRegistry.registerItem(fins_big_steel, fins_big_steel.getUnlocalizedName()); + GameRegistry.registerItem(fins_tri_steel, fins_tri_steel.getUnlocalizedName()); + GameRegistry.registerItem(fins_quad_titanium, fins_quad_titanium.getUnlocalizedName()); + GameRegistry.registerItem(sphere_steel, sphere_steel.getUnlocalizedName()); + GameRegistry.registerItem(pedestal_steel, pedestal_steel.getUnlocalizedName()); + GameRegistry.registerItem(dysfunctional_reactor, dysfunctional_reactor.getUnlocalizedName()); + + //Circuits + GameRegistry.registerItem(circuit_aluminium, circuit_aluminium.getUnlocalizedName()); + GameRegistry.registerItem(circuit_copper, circuit_copper.getUnlocalizedName()); + GameRegistry.registerItem(circuit_red_copper, circuit_red_copper.getUnlocalizedName()); + GameRegistry.registerItem(circuit_gold, circuit_gold.getUnlocalizedName()); + GameRegistry.registerItem(circuit_schrabidium, circuit_schrabidium.getUnlocalizedName()); + + //Flame War in a Box + GameRegistry.registerItem(flame_pony, flame_pony.getUnlocalizedName()); + GameRegistry.registerItem(flame_conspiracy, flame_conspiracy.getUnlocalizedName()); + GameRegistry.registerItem(flame_politics, flame_politics.getUnlocalizedName()); + GameRegistry.registerItem(flame_opinion, flame_opinion.getUnlocalizedName()); + + //Pellets + GameRegistry.registerItem(pellet_rtg, pellet_rtg.getUnlocalizedName()); + GameRegistry.registerItem(pellet_cluster, pellet_cluster.getUnlocalizedName()); + GameRegistry.registerItem(pellet_gas, pellet_gas.getUnlocalizedName()); + + //Cells + GameRegistry.registerItem(cell_empty, cell_empty.getUnlocalizedName()); + GameRegistry.registerItem(cell_uf6, cell_uf6.getUnlocalizedName()); + GameRegistry.registerItem(cell_puf6, cell_puf6.getUnlocalizedName()); + GameRegistry.registerItem(cell_deuterium, cell_deuterium.getUnlocalizedName()); + GameRegistry.registerItem(cell_sas3, cell_sas3.getUnlocalizedName()); + GameRegistry.registerItem(cell_antimatter, cell_antimatter.getUnlocalizedName()); + + //Batteries + GameRegistry.registerItem(battery_generic, battery_generic.getUnlocalizedName()); + GameRegistry.registerItem(battery_advanced, battery_advanced.getUnlocalizedName()); + GameRegistry.registerItem(battery_schrabidium, battery_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(battery_creative, battery_creative.getUnlocalizedName()); + GameRegistry.registerItem(fusion_core, fusion_core.getUnlocalizedName()); + + //Fuelrods + GameRegistry.registerItem(rod_empty, rod_empty.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_empty, rod_dual_empty.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_empty, rod_quad_empty.getUnlocalizedName()); + + GameRegistry.registerItem(rod_uranium, rod_uranium.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_uranium, rod_dual_uranium.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_uranium, rod_quad_uranium.getUnlocalizedName()); + + GameRegistry.registerItem(rod_u235, rod_u235.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_u235, rod_dual_u235.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_u235, rod_quad_u235.getUnlocalizedName()); + + GameRegistry.registerItem(rod_u238, rod_u238.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_u238, rod_dual_u238.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_u238, rod_quad_u238.getUnlocalizedName()); + + GameRegistry.registerItem(rod_plutonium, rod_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_plutonium, rod_dual_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_plutonium, rod_quad_plutonium.getUnlocalizedName()); + + GameRegistry.registerItem(rod_pu238, rod_pu238.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_pu238, rod_dual_pu238.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_pu238, rod_quad_pu238.getUnlocalizedName()); + + GameRegistry.registerItem(rod_pu239, rod_pu239.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_pu239, rod_dual_pu239.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_pu239, rod_quad_pu239.getUnlocalizedName()); + + GameRegistry.registerItem(rod_pu240, rod_pu240.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_pu240, rod_dual_pu240.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_pu240, rod_quad_pu240.getUnlocalizedName()); + + GameRegistry.registerItem(rod_neptunium, rod_neptunium.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_neptunium, rod_dual_neptunium.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_neptunium, rod_quad_neptunium.getUnlocalizedName()); + + GameRegistry.registerItem(rod_lead, rod_lead.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_lead, rod_dual_lead.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_lead, rod_quad_lead.getUnlocalizedName()); + + GameRegistry.registerItem(rod_schrabidium, rod_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_schrabidium, rod_dual_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_schrabidium, rod_quad_schrabidium.getUnlocalizedName()); + + GameRegistry.registerItem(rod_uranium_fuel, rod_uranium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_uranium_fuel, rod_dual_uranium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_uranium_fuel, rod_quad_uranium_fuel.getUnlocalizedName()); + + GameRegistry.registerItem(rod_plutonium_fuel, rod_plutonium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_plutonium_fuel, rod_dual_plutonium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_plutonium_fuel, rod_quad_plutonium_fuel.getUnlocalizedName()); + + GameRegistry.registerItem(rod_mox_fuel, rod_mox_fuel.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_mox_fuel, rod_dual_mox_fuel.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_mox_fuel, rod_quad_mox_fuel.getUnlocalizedName()); + + GameRegistry.registerItem(rod_schrabidium_fuel, rod_schrabidium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_schrabidium_fuel, rod_dual_schrabidium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_schrabidium_fuel, rod_quad_schrabidium_fuel.getUnlocalizedName()); + + GameRegistry.registerItem(rod_water, rod_water.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_water, rod_dual_water.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_water, rod_quad_water.getUnlocalizedName()); + + GameRegistry.registerItem(rod_coolant, rod_coolant.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_coolant, rod_dual_coolant.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_coolant, rod_quad_coolant.getUnlocalizedName()); + + //Nuclear Waste + GameRegistry.registerItem(rod_uranium_fuel_depleted, rod_uranium_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_uranium_fuel_depleted, rod_dual_uranium_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_uranium_fuel_depleted, rod_quad_uranium_fuel_depleted.getUnlocalizedName()); + + GameRegistry.registerItem(rod_plutonium_fuel_depleted, rod_plutonium_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_plutonium_fuel_depleted, rod_dual_plutonium_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_plutonium_fuel_depleted, rod_quad_plutonium_fuel_depleted.getUnlocalizedName()); + + GameRegistry.registerItem(rod_mox_fuel_depleted, rod_mox_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_mox_fuel_depleted, rod_dual_mox_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_mox_fuel_depleted, rod_quad_mox_fuel_depleted.getUnlocalizedName()); + + GameRegistry.registerItem(rod_schrabidium_fuel_depleted, rod_schrabidium_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_schrabidium_fuel_depleted, rod_dual_schrabidium_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_schrabidium_fuel_depleted, rod_quad_schrabidium_fuel_depleted.getUnlocalizedName()); + + GameRegistry.registerItem(rod_waste, rod_waste.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_waste, rod_dual_waste.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_waste, rod_quad_waste.getUnlocalizedName()); + + GameRegistry.registerItem(trinitite, trinitite.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste, nuclear_waste.getUnlocalizedName()); + + //Missiles + GameRegistry.registerItem(designator, designator.getUnlocalizedName()); + GameRegistry.registerItem(missile_generic, missile_generic.getUnlocalizedName()); + //GameRegistry.registerItem(missile_anti_ballistic, missile_anti_ballistic.getUnlocalizedName()); + GameRegistry.registerItem(missile_incendiary, missile_incendiary.getUnlocalizedName()); + GameRegistry.registerItem(missile_cluster, missile_cluster.getUnlocalizedName()); + GameRegistry.registerItem(missile_buster, missile_buster.getUnlocalizedName()); + GameRegistry.registerItem(missile_strong, missile_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_incendiary_strong, missile_incendiary_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_cluster_strong, missile_cluster_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_buster_strong, missile_buster_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_burst, missile_burst.getUnlocalizedName()); + GameRegistry.registerItem(missile_inferno, missile_inferno.getUnlocalizedName()); + GameRegistry.registerItem(missile_rain, missile_rain.getUnlocalizedName()); + GameRegistry.registerItem(missile_drill, missile_drill.getUnlocalizedName()); + GameRegistry.registerItem(missile_nuclear, missile_nuclear.getUnlocalizedName()); + GameRegistry.registerItem(missile_nuclear_cluster, missile_nuclear_cluster.getUnlocalizedName()); + GameRegistry.registerItem(missile_endo, missile_endo.getUnlocalizedName()); + GameRegistry.registerItem(missile_exo, missile_exo.getUnlocalizedName()); + + //Guns + GameRegistry.registerItem(gun_revolver_iron, gun_revolver_iron.getUnlocalizedName()); + GameRegistry.registerItem(gun_revolver_iron_ammo, gun_revolver_iron_ammo.getUnlocalizedName()); + GameRegistry.registerItem(gun_revolver, gun_revolver.getUnlocalizedName()); + GameRegistry.registerItem(gun_revolver_ammo, gun_revolver_ammo.getUnlocalizedName()); + GameRegistry.registerItem(gun_revolver_gold, gun_revolver_gold.getUnlocalizedName()); + GameRegistry.registerItem(gun_revolver_gold_ammo, gun_revolver_gold_ammo.getUnlocalizedName()); + GameRegistry.registerItem(gun_revolver_schrabidium, gun_revolver_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(gun_revolver_schrabidium_ammo, gun_revolver_schrabidium_ammo.getUnlocalizedName()); + GameRegistry.registerItem(gun_revolver_cursed, gun_revolver_cursed.getUnlocalizedName()); + GameRegistry.registerItem(gun_revolver_cursed_ammo, gun_revolver_cursed_ammo.getUnlocalizedName()); + GameRegistry.registerItem(gun_rpg, gun_rpg.getUnlocalizedName()); + GameRegistry.registerItem(gun_rpg_ammo, gun_rpg_ammo.getUnlocalizedName()); + + //Grenades + GameRegistry.registerItem(grenade_generic, grenade_generic.getUnlocalizedName()); + GameRegistry.registerItem(grenade_strong, grenade_strong.getUnlocalizedName()); + GameRegistry.registerItem(grenade_frag, grenade_frag.getUnlocalizedName()); + GameRegistry.registerItem(grenade_fire, grenade_fire.getUnlocalizedName()); + GameRegistry.registerItem(grenade_cluster, grenade_cluster.getUnlocalizedName()); + GameRegistry.registerItem(grenade_flare, grenade_flare.getUnlocalizedName()); + GameRegistry.registerItem(grenade_electric, grenade_electric.getUnlocalizedName()); + GameRegistry.registerItem(grenade_poison, grenade_poison.getUnlocalizedName()); + GameRegistry.registerItem(grenade_gas, grenade_gas.getUnlocalizedName()); + GameRegistry.registerItem(grenade_schrabidium, grenade_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(grenade_nuke, grenade_nuke.getUnlocalizedName()); + + //Tools + GameRegistry.registerItem(schrabidium_sword, schrabidium_sword.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_pickaxe, schrabidium_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_axe, schrabidium_axe.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_shovel, schrabidium_shovel.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_hoe, schrabidium_hoe.getUnlocalizedName()); + + //Syringes + GameRegistry.registerItem(syringe_empty, syringe_empty.getUnlocalizedName()); + GameRegistry.registerItem(syringe_antidote, syringe_antidote.getUnlocalizedName()); + GameRegistry.registerItem(syringe_awesome, syringe_awesome.getUnlocalizedName()); + GameRegistry.registerItem(syringe_metal_empty, syringe_metal_empty.getUnlocalizedName()); + GameRegistry.registerItem(syringe_metal_stimpak, syringe_metal_stimpak.getUnlocalizedName()); + + //Food + GameRegistry.registerItem(bomb_waffle, bomb_waffle.getUnlocalizedName()); + GameRegistry.registerItem(schnitzel_vegan, schnitzel_vegan.getUnlocalizedName()); + GameRegistry.registerItem(cotton_candy, cotton_candy.getUnlocalizedName()); + GameRegistry.registerItem(apple_schrabidium, apple_schrabidium.getUnlocalizedName()); + + //The Gadget + GameRegistry.registerItem(gadget_explosive, gadget_explosive.getUnlocalizedName()); + GameRegistry.registerItem(gadget_explosive8, gadget_explosive8.getUnlocalizedName()); + GameRegistry.registerItem(gadget_wireing, gadget_wireing.getUnlocalizedName()); + GameRegistry.registerItem(gadget_core, gadget_core.getUnlocalizedName()); + + //Little Boy + GameRegistry.registerItem(boy_shielding, boy_shielding.getUnlocalizedName()); + GameRegistry.registerItem(boy_target, boy_target.getUnlocalizedName()); + GameRegistry.registerItem(boy_bullet, boy_bullet.getUnlocalizedName()); + GameRegistry.registerItem(boy_propellant, boy_propellant.getUnlocalizedName()); + GameRegistry.registerItem(boy_igniter, boy_igniter.getUnlocalizedName());; + + //Fat Man + GameRegistry.registerItem(man_explosive, man_explosive.getUnlocalizedName()); + GameRegistry.registerItem(man_explosive8, man_explosive8.getUnlocalizedName()); + GameRegistry.registerItem(man_igniter, man_igniter.getUnlocalizedName()); + GameRegistry.registerItem(man_core, man_core.getUnlocalizedName()); + + //Ivy Mike + GameRegistry.registerItem(mike_core, mike_core.getUnlocalizedName()); + GameRegistry.registerItem(mike_deut, mike_deut.getUnlocalizedName()); + GameRegistry.registerItem(mike_cooling_unit, mike_cooling_unit.getUnlocalizedName()); + + //Tsar Bomba + GameRegistry.registerItem(tsar_core, tsar_core.getUnlocalizedName()); + + //FLEIJA + GameRegistry.registerItem(fleija_igniter, fleija_igniter.getUnlocalizedName()); + GameRegistry.registerItem(fleija_propellant, fleija_propellant.getUnlocalizedName()); + GameRegistry.registerItem(fleija_core, fleija_core.getUnlocalizedName()); + + //Conventional Armor + GameRegistry.registerItem(goggles, goggles.getUnlocalizedName()); + GameRegistry.registerItem(gas_mask, gas_mask.getUnlocalizedName()); + + //Power Armor + GameRegistry.registerItem(t45_helmet, t45_helmet.getUnlocalizedName()); + GameRegistry.registerItem(t45_plate, t45_plate.getUnlocalizedName()); + GameRegistry.registerItem(t45_legs, t45_legs.getUnlocalizedName()); + GameRegistry.registerItem(t45_boots, t45_boots.getUnlocalizedName()); + + //Nobody will ever read this anyway, so it shouldn't matter. + GameRegistry.registerItem(igniter, igniter.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_helmet, hazmat_helmet.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_plate, hazmat_plate.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_legs, hazmat_legs.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_boots, hazmat_boots.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_helmet, schrabidium_helmet.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_plate, schrabidium_plate.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_legs, schrabidium_legs.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_boots, schrabidium_boots.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_euphemium, rod_quad_euphemium.getUnlocalizedName()); + GameRegistry.registerItem(euphemium_helmet, euphemium_helmet.getUnlocalizedName()); + GameRegistry.registerItem(euphemium_plate, euphemium_plate.getUnlocalizedName()); + GameRegistry.registerItem(euphemium_legs, euphemium_legs.getUnlocalizedName()); + GameRegistry.registerItem(euphemium_boots, euphemium_boots.getUnlocalizedName()); + GameRegistry.registerItem(ingot_euphemium, ingot_euphemium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_euphemium, nugget_euphemium.getUnlocalizedName()); + GameRegistry.registerItem(apple_euphemium, apple_euphemium.getUnlocalizedName()); + GameRegistry.registerItem(watch, watch.getUnlocalizedName()); + GameRegistry.registerItem(mask_of_infamy, mask_of_infamy.getUnlocalizedName()); + + //Kits + GameRegistry.registerItem(nuke_starter_kit, nuke_starter_kit.getUnlocalizedName()); + GameRegistry.registerItem(nuke_advanced_kit, nuke_advanced_kit.getUnlocalizedName()); + GameRegistry.registerItem(nuke_commercially_kit, nuke_commercially_kit.getUnlocalizedName()); + GameRegistry.registerItem(nuke_electric_kit, nuke_electric_kit.getUnlocalizedName()); + GameRegistry.registerItem(gadget_kit, gadget_kit.getUnlocalizedName()); + GameRegistry.registerItem(boy_kit, boy_kit.getUnlocalizedName()); + GameRegistry.registerItem(man_kit, man_kit.getUnlocalizedName()); + GameRegistry.registerItem(mike_kit, mike_kit.getUnlocalizedName()); + GameRegistry.registerItem(tsar_kit, tsar_kit.getUnlocalizedName()); + GameRegistry.registerItem(prototype_kit, prototype_kit.getUnlocalizedName()); + GameRegistry.registerItem(fleija_kit, fleija_kit.getUnlocalizedName()); + GameRegistry.registerItem(multi_kit, multi_kit.getUnlocalizedName()); + GameRegistry.registerItem(grenade_kit, grenade_kit.getUnlocalizedName()); + } +} diff --git a/com/hbm/items/PickaxeSchrabidium.java b/com/hbm/items/PickaxeSchrabidium.java new file mode 100644 index 000000000..d13b193cf --- /dev/null +++ b/com/hbm/items/PickaxeSchrabidium.java @@ -0,0 +1,18 @@ +package com.hbm.items; + +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemStack; + +public class PickaxeSchrabidium extends ItemPickaxe { + + protected PickaxeSchrabidium(ToolMaterial p_i45347_1_) { + super(p_i45347_1_); + } + + public EnumRarity getRarity(ItemStack p_77613_1_) { + + return EnumRarity.rare; + } + +} diff --git a/com/hbm/items/RedstoneSword.java b/com/hbm/items/RedstoneSword.java new file mode 100644 index 000000000..3dd6f21a1 --- /dev/null +++ b/com/hbm/items/RedstoneSword.java @@ -0,0 +1,74 @@ +package com.hbm.items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.world.World; + +public class RedstoneSword extends ItemSword { + + //Pridenauer you damn bastard. + + public RedstoneSword(ToolMaterial p_i45356_1_) { + super(p_i45356_1_); + } + + @SideOnly(Side.CLIENT) + public boolean isFull3D() + { + return true; + } + + public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) + { + if (p_77648_7_ == 0) + { + --y; + } + + if (p_77648_7_ == 1) + { + ++y; + } + + if (p_77648_7_ == 2) + { + --z; + } + + if (p_77648_7_ == 3) + { + ++z; + } + + if (p_77648_7_ == 4) + { + --x; + } + + if (p_77648_7_ == 5) + { + ++x; + } + + if (!player.canPlayerEdit(x, y, z, p_77648_7_, itemStack)) + { + return false; + } + else + { + if (world.isAirBlock(x, y, z)) + { + world.playSoundEffect((double)x + 0.5D, (double)y + 0.5D, (double)z + 0.5D, "random.break", 1.0F, itemRand.nextFloat() * 0.4F + 0.8F); + world.setBlock(x, y, z, Blocks.redstone_wire); + } + + itemStack.damageItem(14, player); + return true; + } + } +} diff --git a/com/hbm/items/SpadeSchrabidium.java b/com/hbm/items/SpadeSchrabidium.java new file mode 100644 index 000000000..da14d5324 --- /dev/null +++ b/com/hbm/items/SpadeSchrabidium.java @@ -0,0 +1,18 @@ +package com.hbm.items; + +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemStack; + +public class SpadeSchrabidium extends ItemSpade { + + public SpadeSchrabidium(ToolMaterial p_i45353_1_) { + super(p_i45353_1_); + } + + public EnumRarity getRarity(ItemStack p_77613_1_) { + + return EnumRarity.rare; + } + +} diff --git a/com/hbm/items/SwordSchrabidium.java b/com/hbm/items/SwordSchrabidium.java new file mode 100644 index 000000000..0d4ff29ff --- /dev/null +++ b/com/hbm/items/SwordSchrabidium.java @@ -0,0 +1,18 @@ +package com.hbm.items; + +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; + +public class SwordSchrabidium extends ItemSword { + + public SwordSchrabidium(ToolMaterial p_i45356_1_) { + super(p_i45356_1_); + } + + public EnumRarity getRarity(ItemStack p_77613_1_) { + + return EnumRarity.rare; + } + +} diff --git a/com/hbm/lib/HbmChestContents.java b/com/hbm/lib/HbmChestContents.java new file mode 100644 index 000000000..a6c01db8e --- /dev/null +++ b/com/hbm/lib/HbmChestContents.java @@ -0,0 +1,146 @@ +package com.hbm.lib; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.item.Item; +import net.minecraft.util.WeightedRandomChestContent; + +public class HbmChestContents { + + static Random rand = new Random(); + + private static WeightedRandomChestContent[] modGeneric = new WeightedRandomChestContent[] + {new WeightedRandomChestContent(ModItems.ingot_steel, 0, 10, 15, 5), + new WeightedRandomChestContent(ModItems.ingot_red_copper, 0, 5, 10, 3), + new WeightedRandomChestContent(ModItems.ingot_tungsten, 0, 5, 15, 3), + 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.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)}; + + private static WeightedRandomChestContent[] antenna = new WeightedRandomChestContent[] + {new WeightedRandomChestContent(ModItems.ingot_steel, 0, 3, 7, 5), + new WeightedRandomChestContent(ModItems.ingot_red_copper, 0, 3, 10, 3), + new WeightedRandomChestContent(ModItems.ingot_titanium, 0, 3, 5, 4), + new WeightedRandomChestContent(ModItems.wire_red_copper, 0, 3, 7, 4), + new WeightedRandomChestContent(ModItems.circuit_aluminium, 0, 1, 5, 3), + new WeightedRandomChestContent(ModItems.circuit_copper, 0, 1, 3, 2), + 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(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.pole_top), 0, 2, 4, 4), + new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.pole_satellite_receiver), 0, 3, 5, 3)}; + + private static WeightedRandomChestContent[] expensive = new WeightedRandomChestContent[] + {new WeightedRandomChestContent(ModItems.nugget_schrabidium, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.neutron_reflector, 0, 2, 3, 3), + new WeightedRandomChestContent(ModItems.ingot_tungsten, 0, 5, 15, 5), + new WeightedRandomChestContent(ModItems.circuit_red_copper, 0, 3, 4, 5), + new WeightedRandomChestContent(ModItems.circuit_gold, 0, 1, 2, 3), + new WeightedRandomChestContent(ModItems.circuit_schrabidium, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.nuke_starter_kit, 0, 1, 1, 2), + new WeightedRandomChestContent(ModItems.nuke_commercially_kit, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.gun_revolver, 0, 1, 1, 4), + new WeightedRandomChestContent(ModItems.gun_revolver_ammo, 0, 1, 32, 5), + new WeightedRandomChestContent(ModItems.gun_revolver_gold, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.gun_revolver_gold_ammo, 0, 1, 6, 2), + new WeightedRandomChestContent(ModItems.gun_rpg, 0, 1, 1, 2), + new WeightedRandomChestContent(ModItems.gun_rpg_ammo, 0, 1, 32, 3), + 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.fusion_core, 0, 1, 1, 2), + new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.pole_satellite_receiver), 0, 1, 3, 3)}; + + private static WeightedRandomChestContent[] nukeTrash = new WeightedRandomChestContent[] + {new WeightedRandomChestContent(ModItems.nugget_u238, 0, 3, 12, 5), + new WeightedRandomChestContent(ModItems.nugget_pu240, 0, 3, 8, 5), + new WeightedRandomChestContent(ModItems.nugget_neptunium, 0, 1, 4, 3), + new WeightedRandomChestContent(ModItems.rod_u238, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_neptunium, 0, 1, 1, 4), + new WeightedRandomChestContent(ModItems.rod_pu240, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_dual_u238, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_dual_pu240, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_quad_u238, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_quad_pu240, 0, 1, 1, 3), + new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.yellow_barrel), 0, 1, 1, 2)}; + + private static WeightedRandomChestContent[] nuclear = new WeightedRandomChestContent[] + {new WeightedRandomChestContent(ModItems.nugget_u235, 0, 3, 12, 5), + new WeightedRandomChestContent(ModItems.nugget_pu238, 0, 3, 12, 5), + new WeightedRandomChestContent(ModItems.nugget_pu239, 0, 3, 12, 5), + new WeightedRandomChestContent(ModItems.rod_u235, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_pu239, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_dual_u235, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_dual_pu239, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_quad_u235, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_quad_pu239, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_uranium_fuel, 0, 1, 1, 4), + new WeightedRandomChestContent(ModItems.rod_plutonium_fuel, 0, 1, 1, 4), + new WeightedRandomChestContent(ModItems.rod_mox_fuel, 0, 1, 1, 4), + new WeightedRandomChestContent(ModItems.rod_dual_uranium_fuel, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_dual_plutonium_fuel, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_dual_mox_fuel, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_quad_uranium_fuel, 0, 1, 1, 1), + 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(Item.getItemFromBlock(ModBlocks.yellow_barrel), 0, 1, 3, 3)}; + + private static WeightedRandomChestContent[] vertibird = new WeightedRandomChestContent[] + {new WeightedRandomChestContent(ModItems.t45_helmet, 0, 1, 1, 5), + new WeightedRandomChestContent(ModItems.t45_plate, 0, 1, 1, 5), + new WeightedRandomChestContent(ModItems.t45_legs, 0, 1, 1, 5), + new WeightedRandomChestContent(ModItems.t45_boots, 0, 1, 1, 5), + new WeightedRandomChestContent(ModItems.fusion_core, 0, 1, 1, 5), + new WeightedRandomChestContent(ModItems.circuit_red_copper, 0, 1, 3, 3), + new WeightedRandomChestContent(ModItems.circuit_gold, 0, 1, 3, 3), + new WeightedRandomChestContent(ModItems.gun_revolver, 0, 1, 1, 4), + new WeightedRandomChestContent(ModItems.gun_revolver_ammo, 0, 1, 24, 4), + new WeightedRandomChestContent(ModItems.gun_rpg, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.gun_rpg_ammo, 0, 1, 6, 3), + new WeightedRandomChestContent(ModItems.rod_uranium_fuel, 0, 1, 1, 2), + new WeightedRandomChestContent(ModItems.rod_dual_uranium_fuel, 0, 1, 1, 2), + new WeightedRandomChestContent(ModItems.rod_quad_uranium_fuel, 0, 1, 1, 2)}; + + /** + * @param i + * @return WeightedRandomChestContent array with custom loot + * + * case 1: modGeneric loot (ingots, few blocks) + * case 2: antenna loot (spare parts, electronics) + * case 3: expensive loot (revolers, circuits, schrabidium nuggets) + * 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) + **/ + + public static WeightedRandomChestContent[] getLoot(int i) + { + switch(i) + { + case 1: + return modGeneric; + case 2: + return antenna; + case 3: + return expensive; + case 4: + return nukeTrash; + case 5: + return nuclear; + case 6: + return vertibird; + } + + return null; + } +} diff --git a/com/hbm/lib/HbmWorld.java b/com/hbm/lib/HbmWorld.java new file mode 100644 index 000000000..a9748f014 --- /dev/null +++ b/com/hbm/lib/HbmWorld.java @@ -0,0 +1,22 @@ +package com.hbm.lib; + +import cpw.mods.fml.common.IWorldGenerator; +import cpw.mods.fml.common.registry.GameRegistry; + +public class HbmWorld { + public static void mainRegistry() + { + initWorldGen(); + } + + public static void initWorldGen() + { + registerWorldGen(new HbmWorldGen(), 1); + } + + public static void registerWorldGen(HbmWorldGen nukerWorldGen, int weightedProbability) + { + GameRegistry.registerWorldGenerator((IWorldGenerator) nukerWorldGen, weightedProbability); + } + +} diff --git a/com/hbm/lib/HbmWorldGen.java b/com/hbm/lib/HbmWorldGen.java new file mode 100644 index 000000000..df5201bb2 --- /dev/null +++ b/com/hbm/lib/HbmWorldGen.java @@ -0,0 +1,205 @@ +package com.hbm.lib; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.world.Antenna; +import com.hbm.world.CrashedVertibird; +import com.hbm.world.DesertAtom001; +import com.hbm.world.Radio01; +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; +import net.minecraft.world.gen.feature.WorldGenMinable; +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); + } + + } + + private void generateSurface(World world, Random rand, int i, int j) { + //Ore stains per chunk + for (int k = 0; k < 7; k++) + { + int randPosX = i + rand.nextInt(16); + //Max height of generation + int randPosY = rand.nextInt(25); + int randPosZ = j + rand.nextInt(16); + + //Ore, amount of ore in one stain + (new WorldGenMinable(ModBlocks.ore_uranium, 5)).generate(world, rand, randPosX, randPosY, randPosZ); + } + + for (int k = 0; k < 8; k++) + { + int randPosX = i + rand.nextInt(16); + int randPosY = rand.nextInt(35); + int randPosZ = j + rand.nextInt(16); + + (new WorldGenMinable(ModBlocks.ore_titanium, 4)).generate(world, rand, randPosX, randPosY, randPosZ); + } + + for (int k = 0; k < 5; k++) + { + int randPosX = i + rand.nextInt(16); + int randPosY = rand.nextInt(35); + int randPosZ = j + rand.nextInt(16); + + (new WorldGenMinable(ModBlocks.ore_sulfur, 4)).generate(world, rand, randPosX, randPosY, randPosZ); + } + + for (int k = 0; k < 7; 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 < 10; k++) + { + int randPosX = i + rand.nextInt(16); + int randPosY = rand.nextInt(50); + int randPosZ = j + rand.nextInt(16); + + (new WorldGenMinable(ModBlocks.ore_copper, 4)).generate(world, rand, randPosX, randPosY, randPosZ); + } + + for (int k = 0; k < 8; 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 < 4; 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 < 8; 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 < 6; 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 < 6; 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); + } + + + + BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(i, j); + + if(biome == BiomeGenBase.plains || biome == BiomeGenBase.desert) + { + if(rand.nextInt(500) == 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(250) == 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(500) == 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(500) == 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); + } + + } + } + } + + } + + private void generateNether(World world, Random rand, int i, int j) { + + } + +} diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java new file mode 100644 index 000000000..6cb56f46e --- /dev/null +++ b/com/hbm/lib/Library.java @@ -0,0 +1,223 @@ +package com.hbm.lib; + +import com.hbm.blocks.TileEntityLaunchPad; +import com.hbm.blocks.TileEntityMachineBattery; +import com.hbm.blocks.TileEntityMachineDeuterium; +import com.hbm.blocks.TileEntityMachineElectricFurnace; +import com.hbm.blocks.TileEntityWireCoated; +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class Library { + + public static String book11 = "§lResources§r\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 = "§lUranium§r\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 = "§lTitanium§r\nTitanium is a material mainly used for crafting machines and bomb hulls. You can get it from smelting titanium ore."; + public static String book14 = "§lSteel§r\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 = "§lSulfur§r\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 = "§lNiter§r\nNiter also drops directly from the ore, it's only uses are for crafting det cords and gunpowder."; + public static String book17 = "§lIndustrial Grade Copper§r\nIndustrial Grade Copper (mainly just referred to as §oCopper§r) 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 = "§lMinecraft Grade Copper§r\nMinecraft Grade Copper (aka §oRed Copper§r) 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 = "§lTungsten§r\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 = "§lAluminium§r\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 = "§lFuorite§r\nFluorite is a powderr 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 = "§lBeryllium§r\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 = "§lLead§r\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 = "§lSchrabidium§r\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 book21 = "§lMachines§r\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 = "§lAlloy Furnace§r\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 = "§lGas Centrifuge§r\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 = "§lHexafluorite Tanks§r\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 = "§lBreeding Reactor§r\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 = "§lNuclear Powered Furnace§r\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 = "§lRTG-Furnace§r\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 = "§lCoal Generator§r\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 = "§lNuclear Reactor§r\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 = "§lCoated Wire§r\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 = "§lEnergy Storage Block§r\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 = "§lElectric Furnace§r\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 = "§lDeuterium Extractor§r\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 book31 = "§lBombs§r\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 = "§lThe Gadget§r\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 = "§lLittle Boy§r\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 a explosion radius of 120."; + public static String book34 = "§lFat Man§r\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 = "§lIvy Mike§r\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 = "§lTsar Bomba§r\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 = "§lThe Prototype§r\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 150 meters,"; + public static String book39 = "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 Gadhet will destroy below it's Y axis."; + public static String book310 = "§lF.L.E.I.J.A.§r\nF.L.E.I.J.A. (pronounced §oFreija§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 = "§lMulti Purpose Bomb§r\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 = "§lFlame War in a Box§r\nEverything explodes, everything is on fire. Enough desription."; + public static String book315 = "§lLevitation Bomb§r\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 = "§lEndothermic Bomb§r\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 = "§lExothermic Bomb§r\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 = "§lDet Cord§r\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 = "§lExplosive Barrel§r\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 = "§lRadioactive Barrel§r\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 = "§lMissiles§r\nThere are four different ties 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 = "§lHE Missiles§r\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 = "§lIncendiary Missiles§r\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 = "§lCluster Missiles§r\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 = "§lBunker Busters§r\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 = "§lEndothermic Missile§rA tier 3 missile which works exactly like an endothermic bomb, but has double the effect radius."; + public static String book47 = "§lExothermic Missile§rAnother tier 3 missile with an exothermic warhead and double the radius of it's stationary counterpart."; + public static String book48 = "§lNuclear Missile§rIt'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 = "§lNuclear MIRV Missile§rThe 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 four small warheads just before impact."; + + public static String book51 = "§lMisc§rNext 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 boolean checkArmor(EntityPlayer player, Item helmet, Item plate, Item legs, Item boots) { + + if(player.inventory.armorInventory[0] != null && + player.inventory.armorInventory[0].getItem() == boots && + player.inventory.armorInventory[1] != null && + player.inventory.armorInventory[1].getItem() == legs && + player.inventory.armorInventory[2] != null && + player.inventory.armorInventory[2].getItem() == plate && + player.inventory.armorInventory[3] != null && + player.inventory.armorInventory[3].getItem() == helmet) + { + return true; + } + + return false; + } + + public static boolean checkArmorPiece(EntityPlayer player, Item armor, int slot) + { + if(player.inventory.armorInventory[slot] != null && + player.inventory.armorInventory[slot].getItem() == armor) + { + return true; + } + + return false; + } + + public static boolean checkArmorNull(EntityPlayer player, int slot) + { + if(player.inventory.armorInventory[slot] == null) + { + return true; + } + + return false; + } + + public static void damageSuit(EntityPlayer player, int slot) { + + int j = player.inventory.armorInventory[slot].getItemDamage(); + player.inventory.armorInventory[slot].setItemDamage(j += 1); + + if(player.inventory.armorInventory[slot].getItemDamage() == player.inventory.armorInventory[slot].getMaxDamage()) + { + player.inventory.armorInventory[slot] = null; + } + } + + 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)) + { + return true; + } + + return false; + } + + public static boolean checkForGasMask(EntityPlayer player) { + + if(checkArmorPiece(player, ModItems.hazmat_helmet, 3)) + { + return true; + } + if(checkArmorPiece(player, ModItems.gas_mask, 3)) + { + return true; + } + if(checkArmorPiece(player, ModItems.t45_helmet, 3)) + { + return true; + } + + return false; + } + + public static void distributePower(World worldObj, int xCoord, int yCoord, int zCoord) { + TileEntity entity0 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); + TileEntity entity1 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); + TileEntity entity2 = worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + TileEntity entity3 = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); + TileEntity entity4 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); + TileEntity entity5 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); + + TileEntity that = worldObj.getTileEntity(xCoord, yCoord, zCoord); + + TileEntity entity; + + for(int i = 0; i < 6; i++) + { + entity = entity0; + if(i == 1) entity = entity1; + if(i == 2) entity = entity2; + if(i == 3) entity = entity3; + if(i == 4) entity = entity4; + if(i == 5) entity = entity5; + + if(entity instanceof TileEntityMachineElectricFurnace || + entity instanceof TileEntityWireCoated || + entity instanceof TileEntityMachineDeuterium || + entity instanceof TileEntityMachineBattery || + entity instanceof TileEntityLaunchPad) + { + if(entity instanceof TileEntityMachineElectricFurnace && ((TileEntityMachineElectricFurnace)entity).power + 100 <= ((TileEntityMachineElectricFurnace)entity).maxPower && TileEntityWireCoated.power >= 100) + { + ((TileEntityMachineElectricFurnace)entity).power += 100; + if(that instanceof TileEntityWireCoated) { + ((TileEntityWireCoated)that).power -= 100; + } + } else + if(entity instanceof TileEntityWireCoated && ((TileEntityWireCoated)entity).power + 100 <= ((TileEntityWireCoated)entity).maxPower && TileEntityWireCoated.power >= 100) + { + ((TileEntityWireCoated)entity).power += 100; + if(that instanceof TileEntityWireCoated) { + ((TileEntityWireCoated)that).power -= 100; + } + } else + if(entity instanceof TileEntityMachineDeuterium && ((TileEntityMachineDeuterium)entity).power + 100 <= ((TileEntityMachineDeuterium)entity).maxPower && TileEntityWireCoated.power >= 100) + { + ((TileEntityMachineDeuterium)entity).power += 100; + if(that instanceof TileEntityWireCoated) { + ((TileEntityWireCoated)that).power -= 100; + } + } else + if(entity instanceof TileEntityMachineBattery && ((TileEntityMachineBattery)entity).power + 100 <= ((TileEntityMachineBattery)entity).maxPower && !((TileEntityMachineBattery)entity).conducts && TileEntityWireCoated.power >= 100) + { + ((TileEntityMachineBattery)entity).power += 100; + if(that instanceof TileEntityWireCoated) { + ((TileEntityWireCoated)that).power -= 100; + } + } else + if(entity instanceof TileEntityLaunchPad && ((TileEntityLaunchPad)entity).power + 100 <= ((TileEntityLaunchPad)entity).maxPower && TileEntityWireCoated.power >= 100) + { + ((TileEntityLaunchPad)entity).power += 100; + if(that instanceof TileEntityWireCoated) { + ((TileEntityWireCoated)that).power -= 100; + } + } + } + } + } + +} diff --git a/com/hbm/lib/RefStrings.java b/com/hbm/lib/RefStrings.java new file mode 100644 index 000000000..00c6dfa96 --- /dev/null +++ b/com/hbm/lib/RefStrings.java @@ -0,0 +1,9 @@ +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.16 ALPHA"; + 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 new file mode 100644 index 000000000..d44203f8d --- /dev/null +++ b/com/hbm/main/ClientProxy.java @@ -0,0 +1,267 @@ +package com.hbm.main; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.entity.RenderCreeper; +import net.minecraft.client.renderer.entity.RenderSnowball; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraftforge.client.MinecraftForgeClient; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.TileEntityBombMulti; +import com.hbm.blocks.TileEntityDecoBlock; +import com.hbm.blocks.TileEntityDecoBlockAlt; +import com.hbm.blocks.TileEntityDecoBlockAltF; +import com.hbm.blocks.TileEntityDecoBlockAltG; +import com.hbm.blocks.TileEntityDecoBlockAltW; +import com.hbm.blocks.TileEntityDecoPoleSatelliteReceiver; +import com.hbm.blocks.TileEntityDecoPoleTop; +import com.hbm.blocks.TileEntityDecoSteelPoles; +import com.hbm.blocks.TileEntityDecoTapeRecorder; +import com.hbm.blocks.TileEntityLaunchPad; +import com.hbm.blocks.TileEntityMachineCentrifuge; +import com.hbm.blocks.TileEntityMachinePuF6Tank; +import com.hbm.blocks.TileEntityMachineUF6Tank; +import com.hbm.blocks.TileEntityNukeBoy; +import com.hbm.blocks.TileEntityNukeFleija; +import com.hbm.blocks.TileEntityNukeGadget; +import com.hbm.blocks.TileEntityNukeMan; +import com.hbm.blocks.TileEntityNukeMike; +import com.hbm.blocks.TileEntityNukePrototype; +import com.hbm.blocks.TileEntityNukeTsar; +import com.hbm.blocks.TileEntityObjTester; +import com.hbm.blocks.TileEntityRedBarrel; +import com.hbm.blocks.TileEntityRotationTester; +import com.hbm.blocks.TileEntityTestBombAdvanced; +import com.hbm.blocks.TileEntityTestContainer; +import com.hbm.blocks.TileEntityTestRender; +import com.hbm.blocks.TileEntityYellowBarrel; +import com.hbm.entity.EntityBullet; +import com.hbm.entity.EntityGrenadeCluster; +import com.hbm.entity.EntityGrenadeElectric; +import com.hbm.entity.EntityGrenadeFire; +import com.hbm.entity.EntityGrenadeFlare; +import com.hbm.entity.EntityGrenadeFrag; +import com.hbm.entity.EntityGrenadeGas; +import com.hbm.entity.EntityGrenadeGeneric; +import com.hbm.entity.EntityGrenadeNuke; +import com.hbm.entity.EntityGrenadePoison; +import com.hbm.entity.EntityGrenadeSchrabidium; +import com.hbm.entity.EntityGrenadeStrong; +import com.hbm.entity.EntityMirv; +import com.hbm.entity.EntityMissileAntiBallistic; +import com.hbm.entity.EntityMissileBunkerBuster; +import com.hbm.entity.EntityMissileBurst; +import com.hbm.entity.EntityMissileBusterStrong; +import com.hbm.entity.EntityMissileCluster; +import com.hbm.entity.EntityMissileClusterStrong; +import com.hbm.entity.EntityMissileDrill; +import com.hbm.entity.EntityMissileEndo; +import com.hbm.entity.EntityMissileExo; +import com.hbm.entity.EntityMissileGeneric; +import com.hbm.entity.EntityMissileIncendiary; +import com.hbm.entity.EntityMissileIncendiaryStrong; +import com.hbm.entity.EntityMissileInferno; +import com.hbm.entity.EntityMissileMirv; +import com.hbm.entity.EntityMissileNuclear; +import com.hbm.entity.EntityMissileRain; +import com.hbm.entity.EntityMissileStrong; +import com.hbm.entity.EntityNuclearCreeper; +import com.hbm.entity.EntityNukeCloudSmall; +import com.hbm.entity.EntityNukeExplosionAdvanced; +import com.hbm.entity.EntityRocket; +import com.hbm.entity.EntitySchrab; +import com.hbm.entity.EntityTestMissile; +import com.hbm.items.ModItems; +import com.hbm.render.ItemRenderRevolverCursed; +import com.hbm.render.ItemRenderRevolverIron; +import com.hbm.render.ItemRenderBigSword; +import com.hbm.render.ItemRenderDecoBlock; +import com.hbm.render.ItemRenderNukeGadget; +import com.hbm.render.ItemRenderPoleTop; +import com.hbm.render.ItemRenderRedstoneSword; +import com.hbm.render.ItemRenderRevolver; +import com.hbm.render.ItemRenderRevolverGold; +import com.hbm.render.ItemRenderRevolverSchrabidium; +import com.hbm.render.ItemRenderRocket; +import com.hbm.render.ItemRenderRpg; +import com.hbm.render.ItemRenderSatelliteReceiver; +import com.hbm.render.ItemRenderSteelPoles; +import com.hbm.render.ItemRenderTapeRecorder; +import com.hbm.render.ItemRenderTestBombAdvanced; +import com.hbm.render.ItemRenderTestContainer; +import com.hbm.render.RenderBombMulti; +import com.hbm.render.RenderBombMultiLarge; +import com.hbm.render.RenderCentrifuge; +import com.hbm.render.RenderDecoBlock; +import com.hbm.render.RenderDecoBlockAlt; +import com.hbm.render.RenderFlare; +import com.hbm.render.RenderLaunchPadTier1; +import com.hbm.render.RenderMirv; +import com.hbm.render.RenderMissileGeneric; +import com.hbm.render.RenderMissileHuge; +import com.hbm.render.RenderMissileMirv; +import com.hbm.render.RenderMissileNuclear; +import com.hbm.render.RenderMissileStrong; +import com.hbm.render.RenderMissileThermo; +import com.hbm.render.RenderNuclearCreeper; +import com.hbm.render.RenderNukeBoy; +import com.hbm.render.RenderNukeFleija; +import com.hbm.render.RenderNukeGadget; +import com.hbm.render.RenderNukeMan; +import com.hbm.render.RenderNukeMike; +import com.hbm.render.RenderNukePrototype; +import com.hbm.render.RenderNukeTsar; +import com.hbm.render.RenderPoleSatelliteReceiver; +import com.hbm.render.RenderPoleTop; +import com.hbm.render.RenderPuF6Tank; +import com.hbm.render.RenderRedBarrel; +import com.hbm.render.RenderRocket; +import com.hbm.render.RenderRotationTester; +import com.hbm.render.RenderSmallNuke; +import com.hbm.render.RenderSmallNukeAlt; +import com.hbm.render.RenderSteelPoles; +import com.hbm.render.RenderTapeRecorder; +import com.hbm.render.RenderTestBombAdvanced; +import com.hbm.render.RenderTestContainer; +import com.hbm.render.RenderTestMissile; +import com.hbm.render.RenderTestRender; +import com.hbm.render.RenderUF6Tank; +import com.hbm.render.RenderYellowBarrel; +import com.hbm.render.RendererObjTester; + +import cpw.mods.fml.client.registry.ClientRegistry; +import cpw.mods.fml.client.registry.RenderingRegistry; + +public class ClientProxy extends ServerProxy +{ + public void registerRenderInfo() + { + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestRender.class, new RenderTestRender()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestContainer.class, new RenderTestContainer()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.test_container), new ItemRenderTestContainer()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestBombAdvanced.class, new RenderTestBombAdvanced()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.test_bomb_advanced), new ItemRenderTestBombAdvanced()); + + MinecraftForgeClient.registerItemRenderer(ModItems.redstone_sword, new ItemRenderRedstoneSword()); + MinecraftForgeClient.registerItemRenderer(ModItems.big_sword, new ItemRenderBigSword()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRotationTester.class, new RenderRotationTester()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityObjTester.class, new RendererObjTester()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeGadget.class, new RenderNukeGadget()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeBoy.class, new RenderNukeBoy()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCentrifuge.class, new RenderCentrifuge()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeMan.class, new RenderNukeMan()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineUF6Tank.class, new RenderUF6Tank()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePuF6Tank.class, new RenderPuF6Tank()); + + //RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderRocket()); + RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderSnowball(ModItems.man_core)); + + MinecraftForgeClient.registerItemRenderer(ModItems.gun_rpg, new ItemRenderRpg()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_rpg_ammo, new ItemRenderRocket()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBombMulti.class, new RenderBombMulti()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeMike.class, new RenderNukeMike()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeTsar.class, new RenderNukeTsar()); + + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGeneric.class, new RenderSnowball(ModItems.grenade_generic)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeStrong.class, new RenderSnowball(ModItems.grenade_strong)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeFrag.class, new RenderSnowball(ModItems.grenade_frag)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeFire.class, new RenderSnowball(ModItems.grenade_fire)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeCluster.class, new RenderSnowball(ModItems.grenade_cluster)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeFlare.class, new RenderFlare()); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeElectric.class, new RenderSnowball(ModItems.grenade_electric)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePoison.class, new RenderSnowball(ModItems.grenade_poison)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGas.class, new RenderSnowball(ModItems.grenade_gas)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeSchrabidium.class, new RenderSnowball(ModItems.grenade_schrabidium)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeNuke.class, new RenderSnowball(ModItems.grenade_nuke)); + + RenderingRegistry.registerEntityRenderingHandler(EntitySchrab.class, new RenderFlare()); + + RenderingRegistry.registerEntityRenderingHandler(EntityTestMissile.class, new RenderTestMissile()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeFleija.class, new RenderNukeFleija()); + + RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudSmall.class, new RenderSmallNukeAlt()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoTapeRecorder.class, new RenderTapeRecorder()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoSteelPoles.class, new RenderSteelPoles()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoPoleTop.class, new RenderPoleTop()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoPoleSatelliteReceiver.class, new RenderPoleSatelliteReceiver()); + + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.tape_recorder), new ItemRenderTapeRecorder()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_poles), new ItemRenderSteelPoles()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.pole_top), new ItemRenderPoleTop()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.pole_satellite_receiver), new ItemRenderSatelliteReceiver()); + + MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver, new ItemRenderRevolver()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_iron, new ItemRenderRevolverIron()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_gold, new ItemRenderRevolverGold()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_schrabidium, new ItemRenderRevolverSchrabidium()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_cursed, new ItemRenderRevolverCursed()); + + RenderingRegistry.registerEntityRenderingHandler(EntityBullet.class, new RenderRocket()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukePrototype.class, new RenderNukePrototype()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRedBarrel.class, new RenderRedBarrel()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityYellowBarrel.class, new RenderYellowBarrel()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPad.class, new RenderLaunchPadTier1()); + + RenderingRegistry.registerEntityRenderingHandler(EntityMissileGeneric.class, new RenderMissileGeneric()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileAntiBallistic.class, new RenderMissileGeneric()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileIncendiary.class, new RenderMissileGeneric()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileCluster.class, new RenderMissileGeneric()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileBunkerBuster.class, new RenderMissileGeneric()); + + RenderingRegistry.registerEntityRenderingHandler(EntityMissileStrong.class, new RenderMissileStrong()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileIncendiaryStrong.class, new RenderMissileStrong()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileClusterStrong.class, new RenderMissileStrong()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileBusterStrong.class, new RenderMissileStrong()); + + RenderingRegistry.registerEntityRenderingHandler(EntityMissileBurst.class, new RenderMissileHuge()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileInferno.class, new RenderMissileHuge()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileRain.class, new RenderMissileHuge()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileDrill.class, new RenderMissileHuge()); + + RenderingRegistry.registerEntityRenderingHandler(EntityMissileNuclear.class, new RenderMissileNuclear()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileMirv.class, new RenderMissileMirv()); + RenderingRegistry.registerEntityRenderingHandler(EntityMirv.class, new RenderMirv()); + + RenderingRegistry.registerEntityRenderingHandler(EntityMissileEndo.class, new RenderMissileThermo()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileExo.class, new RenderMissileThermo()); + + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlock.class, new RenderDecoBlock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAlt.class, new RenderDecoBlockAlt()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltG.class, new RenderDecoBlockAlt()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltW.class, new RenderDecoBlockAlt()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltF.class, new RenderDecoBlockAlt()); + + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_wall), new ItemRenderDecoBlock()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_corner), new ItemRenderDecoBlock()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_roof), new ItemRenderDecoBlock()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_beam), new ItemRenderDecoBlock()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_scaffold), new ItemRenderDecoBlock()); + + RenderingRegistry.registerEntityRenderingHandler(EntityNuclearCreeper.class, new RenderNuclearCreeper()); + + RenderingRegistry.addNewArmourRendererPrefix("5"); + RenderingRegistry.addNewArmourRendererPrefix("6"); + RenderingRegistry.addNewArmourRendererPrefix("7"); + RenderingRegistry.addNewArmourRendererPrefix("8"); + RenderingRegistry.addNewArmourRendererPrefix("9"); + } + + public void registerTileEntitySpecialRenderer() { + + } +} + diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java new file mode 100644 index 000000000..a053b6508 --- /dev/null +++ b/com/hbm/main/CraftingManager.java @@ -0,0 +1,460 @@ +package com.hbm.main; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import cpw.mods.fml.common.registry.GameRegistry; + +public class CraftingManager { + + public static void mainRegistry() + { + AddCraftingRec(); + AddSmeltingRec(); + } + + public static void AddCraftingRec() + { + GameRegistry.addRecipe(new ItemStack(ModItems.redstone_sword, 1), new Object[] { "R", "R", "S", 'R', Blocks.redstone_block, 'S', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.big_sword, 1), new Object[] { "QIQ", "QIQ", "GSG", 'G', Items.gold_ingot, 'S', Items.stick, 'I', Items.iron_ingot, 'Q', Items.quartz}); + + GameRegistry.addRecipe(new ItemStack(ModItems.plate_titanium, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_titanium}); + GameRegistry.addRecipe(new ItemStack(ModItems.plate_aluminium, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_aluminium}); + GameRegistry.addRecipe(new ItemStack(ModItems.plate_steel, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_steel}); + GameRegistry.addRecipe(new ItemStack(ModItems.plate_iron, 16), new Object[] { "TT", "TT", 'T', Items.iron_ingot}); + GameRegistry.addRecipe(new ItemStack(ModItems.plate_lead, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_lead}); + GameRegistry.addRecipe(new ItemStack(ModItems.plate_copper, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_copper}); + GameRegistry.addRecipe(new ItemStack(ModItems.plate_schrabidium, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_schrabidium}); + GameRegistry.addRecipe(new ItemStack(ModItems.plate_gold, 16), new Object[] { "TT", "TT", 'T', Items.gold_ingot}); + GameRegistry.addRecipe(new ItemStack(ModItems.wire_red_copper, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_red_copper }); + GameRegistry.addRecipe(new ItemStack(ModItems.wire_tungsten, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_tungsten }); + GameRegistry.addRecipe(new ItemStack(ModItems.wire_aluminium, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_aluminium }); + GameRegistry.addRecipe(new ItemStack(ModItems.wire_copper, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_copper }); + GameRegistry.addRecipe(new ItemStack(ModItems.wire_gold, 6), new Object[] { "CCC", 'S', Items.string, 'C', Items.gold_ingot }); + GameRegistry.addRecipe(new ItemStack(ModItems.wire_schrabidium, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_schrabidium }); + + GameRegistry.addRecipe(new ItemStack(ModItems.circuit_aluminium, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.plate_steel, 'R', Items.redstone, 'A', ModItems.wire_aluminium }); + GameRegistry.addRecipe(new ItemStack(ModItems.circuit_copper, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_aluminium, 'R', Items.glowstone_dust, '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 ItemStack(ModItems.circuit_schrabidium, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_gold, 'R', Items.diamond, 'A', ModItems.wire_schrabidium }); + + GameRegistry.addShapelessRecipe(new ItemStack(Items.gunpowder, 3), new Object[] { ModItems.sulfur, ModItems.niter, Items.coal }); + GameRegistry.addShapelessRecipe(new ItemStack(Items.gunpowder, 3), new Object[] { ModItems.sulfur, ModItems.niter, new ItemStack(Items.coal, 1, 1) }); + + GameRegistry.addRecipe(new ItemStack(ModItems.cell_empty, 6), new Object[] { "SSS", "G G", "SSS", 'S', ModItems.plate_steel, 'G', Item.getItemFromBlock(Blocks.glass_pane) }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.cell_uf6, 1), new Object[] { ModItems.cell_empty, ModItems.ingot_uranium, ModItems.fluorite, ModItems.fluorite, ModItems.fluorite, Items.water_bucket }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.cell_puf6, 1), new Object[] { ModItems.cell_empty, ModItems.ingot_plutonium, ModItems.fluorite, ModItems.fluorite, ModItems.fluorite, 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.addShapelessRecipe(new ItemStack(ModItems.cell_sas3, 1), new Object[] { ModItems.cell_empty, ModItems.powder_schrabidium, ModItems.sulfur, ModItems.sulfur }); + + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_aluminium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_aluminium }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_copper), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_copper }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_fluorite), 1), new Object[] { "###", "###", "###", '#', ModItems.fluorite }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_niter), 1), new Object[] { "###", "###", "###", '#', ModItems.niter }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_red_copper), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_red_copper }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_steel), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_steel }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_sulfur), 1), new Object[] { "###", "###", "###", '#', ModItems.sulfur }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_titanium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_titanium }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_tungsten), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_tungsten }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_uranium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_uranium }); + 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_beryllium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_beryllium }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_schrabidium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_schrabidium }); + + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_plutonium_fuel, 1), new Object[] { ModItems.nugget_pu238, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu240, ModItems.nugget_pu240 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_mox_fuel, 1), new Object[] { ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_pu238, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_schrabidium_fuel, 1), new Object[] { ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_beryllium, ModItems.nugget_beryllium, ModItems.nugget_beryllium }); + + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_aluminium, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_aluminium) }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_copper, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_copper) }); + GameRegistry.addRecipe(new ItemStack(ModItems.fluorite, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_fluorite) }); + GameRegistry.addRecipe(new ItemStack(ModItems.niter, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_niter) }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_red_copper, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_red_copper) }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_steel, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_steel) }); + GameRegistry.addRecipe(new ItemStack(ModItems.sulfur, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_sulfur) }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_titanium, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_titanium) }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_tungsten, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_tungsten) }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_uranium, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_uranium) }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_lead, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_lead) }); + GameRegistry.addRecipe(new ItemStack(ModItems.trinitite, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_trinitite) }); + 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.addShapelessRecipe(new ItemStack(ModItems.powder_lead, 2), new Object[] { ModItems.ingot_lead, ModItems.ingot_lead }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.powder_neptunium, 2), new Object[] { ModItems.ingot_neptunium, ModItems.ingot_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.powder_schrabidium, 2), new Object[] { ModItems.ingot_schrabidium, ModItems.ingot_schrabidium }); + + 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 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_pu238, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_pu238 }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_pu238, 9), new Object[] { "#", '#', ModItems.ingot_pu238 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_pu239, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_pu239 }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_pu239, 9), new Object[] { "#", '#', ModItems.ingot_pu239 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_pu240, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_pu240 }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_pu240, 9), new Object[] { "#", '#', ModItems.ingot_pu240 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_uranium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_uranium }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_uranium, 9), new Object[] { "#", '#', ModItems.ingot_uranium }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_u235, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_u235 }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_u235, 9), new Object[] { "#", '#', ModItems.ingot_u235 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_u238, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_u238 }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_u238, 9), new Object[] { "#", '#', ModItems.ingot_u238 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_neptunium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_neptunium }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_neptunium, 9), new Object[] { "#", '#', ModItems.ingot_neptunium }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_lead, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_lead }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_lead, 9), new Object[] { "#", '#', ModItems.ingot_lead }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_beryllium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_beryllium }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_beryllium, 9), new Object[] { "#", '#', ModItems.ingot_beryllium }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_schrabidium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_schrabidium, 9), new Object[] { "#", '#', ModItems.ingot_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_uranium_fuel }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_uranium_fuel, 9), new Object[] { "#", '#', ModItems.ingot_uranium_fuel }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_plutonium_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_plutonium_fuel }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_plutonium_fuel, 9), new Object[] { "#", '#', ModItems.ingot_plutonium_fuel }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_mox_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_mox_fuel }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_mox_fuel, 9), new Object[] { "#", '#', ModItems.ingot_mox_fuel }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_schrabidium_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_schrabidium_fuel }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_schrabidium_fuel, 9), new Object[] { "#", '#', ModItems.ingot_schrabidium_fuel }); + + GameRegistry.addRecipe(new ItemStack(ModItems.rod_empty, 16), new Object[] { "SSS", "L L", "SSS", 'S', ModItems.plate_steel, 'L', ModItems.plate_lead }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_uranium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_u235, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_u238, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_plutonium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_pu238, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_pu238, ModItems.nugget_pu238, ModItems.nugget_pu238, ModItems.nugget_pu238, ModItems.nugget_pu238, ModItems.nugget_pu238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_pu239, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_pu240, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_neptunium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_lead, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_schrabidium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_uranium_fuel, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_plutonium_fuel, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_mox_fuel, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_schrabidium_fuel, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel }); + + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_empty, 2), new Object[] { ModItems.rod_dual_empty }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_empty, 1), new Object[] { ModItems.rod_empty, ModItems.rod_empty }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_uranium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_u235, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_u238, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_plutonium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_pu238, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_pu238, ModItems.nugget_pu238, ModItems.nugget_pu238, ModItems.nugget_pu238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_pu239, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_pu240, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_neptunium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_lead, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_schrabidium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_uranium_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_plutonium_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_mox_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_schrabidium_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel }); + + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_empty, 4), new Object[] { ModItems.rod_quad_empty }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_empty, 1), new Object[] { ModItems.rod_empty, ModItems.rod_empty, ModItems.rod_empty, ModItems.rod_empty }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_empty, 1), new Object[] { ModItems.rod_dual_empty, ModItems.rod_dual_empty }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_uranium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_uranium, ModItems.ingot_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_u235, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_u235, ModItems.ingot_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_u238, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_u238, ModItems.ingot_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_plutonium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_plutonium, ModItems.ingot_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_pu238, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_pu238, ModItems.ingot_pu238, ModItems.nugget_pu238, ModItems.nugget_pu238, ModItems.nugget_pu238, ModItems.nugget_pu238, ModItems.nugget_pu238, ModItems.nugget_pu238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_pu239, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_pu240, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_pu240, ModItems.ingot_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_neptunium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_neptunium, ModItems.ingot_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_lead, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_lead, ModItems.ingot_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_schrabidium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_schrabidium, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_uranium_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_uranium_fuel, ModItems.ingot_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_plutonium_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_plutonium_fuel, ModItems.ingot_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_mox_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_mox_fuel, ModItems.ingot_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_schrabidium_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_schrabidium_fuel, ModItems.ingot_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel }); + + 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.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 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u238, 6), new Object[] { ModItems.rod_u238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_plutonium, 6), new Object[] { ModItems.rod_plutonium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu238, 6), new Object[] { ModItems.rod_pu238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu239, 6), new Object[] { ModItems.rod_pu239 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu240, 6), new Object[] { ModItems.rod_pu240 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_neptunium, 6), new Object[] { ModItems.rod_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_lead, 6), new Object[] { ModItems.rod_lead }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 6), new Object[] { ModItems.rod_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium_fuel, 6), new Object[] { ModItems.rod_uranium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_plutonium_fuel, 6), new Object[] { ModItems.rod_plutonium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_mox_fuel, 6), new Object[] { ModItems.rod_mox_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium_fuel, 6), new Object[] { ModItems.rod_schrabidium_fuel }); + + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium, 12), new Object[] { ModItems.rod_dual_uranium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u235, 12), new Object[] { ModItems.rod_dual_u235 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u238, 12), new Object[] { ModItems.rod_dual_u238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_plutonium, 12), new Object[] { ModItems.rod_dual_plutonium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu238, 12), new Object[] { ModItems.rod_dual_pu238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu239, 12), new Object[] { ModItems.rod_dual_pu239 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu240, 12), new Object[] { ModItems.rod_dual_pu240 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_neptunium, 12), new Object[] { ModItems.rod_dual_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_lead, 12), new Object[] { ModItems.rod_dual_lead }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 12), new Object[] { ModItems.rod_dual_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium_fuel, 12), new Object[] { ModItems.rod_dual_uranium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_plutonium_fuel, 12), new Object[] { ModItems.rod_dual_plutonium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_mox_fuel, 12), new Object[] { ModItems.rod_dual_mox_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium_fuel, 12), new Object[] { ModItems.rod_dual_schrabidium_fuel }); + + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium, 24), new Object[] { ModItems.rod_quad_uranium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u235, 24), new Object[] { ModItems.rod_quad_u235 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u238, 24), new Object[] { ModItems.rod_quad_u238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_plutonium, 24), new Object[] { ModItems.rod_quad_plutonium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu238, 24), new Object[] { ModItems.rod_quad_pu238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu239, 24), new Object[] { ModItems.rod_quad_pu239 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu240, 24), new Object[] { ModItems.rod_quad_pu240 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_neptunium, 24), new Object[] { ModItems.rod_quad_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_lead, 24), new Object[] { ModItems.rod_quad_lead }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 24), new Object[] { ModItems.rod_quad_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium_fuel, 24), new Object[] { ModItems.rod_quad_uranium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_plutonium_fuel, 24), new Object[] { ModItems.rod_quad_plutonium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_mox_fuel, 24), new Object[] { ModItems.rod_quad_mox_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium_fuel, 24), new Object[] { ModItems.rod_quad_schrabidium_fuel }); + + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 2), new Object[] { ModItems.rod_waste }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_dual_waste }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_quad_waste }); + + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_uranium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_uranium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_uranium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_plutonium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_plutonium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_plutonium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_mox_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_mox_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_mox_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_schrabidium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_schrabidium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_schrabidium_fuel_depleted }); + + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_euphemium, 1), new Object[] { ModItems.rod_quad_euphemium }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_euphemium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_euphemium }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_euphemium, 9), new Object[] { "#", '#', ModItems.ingot_euphemium }); + + GameRegistry.addRecipe(new ItemStack(ModItems.pellet_rtg, 1), new Object[] { "IPI", "PPP", "IPI", 'I', ModItems.plate_iron, 'P', ModItems.nugget_pu238 }); + + GameRegistry.addRecipe(new ItemStack(ModItems.coil_copper, 1), new Object[] { "WWW", "WIW", "WWW", 'W', ModItems.wire_red_copper, 'I', Items.iron_ingot }); + GameRegistry.addRecipe(new ItemStack(ModItems.coil_copper_torus, 2), new Object[] { "PCP", "C C", "PCP", 'P', ModItems.plate_iron, 'C', ModItems.coil_copper }); + GameRegistry.addRecipe(new ItemStack(ModItems.coil_tungsten, 1), new Object[] { "WWW", "WIW", "WWW", 'W', ModItems.wire_tungsten, 'I', Items.iron_ingot }); + GameRegistry.addRecipe(new ItemStack(ModItems.tank_steel, 1), new Object[] { "STS", "S S", "STS", 'S', ModItems.plate_steel, 'T', ModItems.plate_titanium }); + GameRegistry.addRecipe(new ItemStack(ModItems.motor, 1), new Object[] { " R ", "ICI", "ITI", 'R', ModItems.wire_red_copper, 'T', ModItems.coil_copper_torus, 'I', ModItems.plate_iron, '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 }); + GameRegistry.addRecipe(new ItemStack(ModItems.centrifuge_tower, 1), new Object[] { "LL", "EE", "EE", 'E', ModItems.centrifuge_element, 'L', new ItemStack(Items.dye, 1, 4) }); + GameRegistry.addRecipe(new ItemStack(ModItems.reactor_core, 1), new Object[] { "LNL", "N N", "LNL", 'N', ModItems.neutron_reflector, 'L', ModItems.plate_lead }); + GameRegistry.addRecipe(new ItemStack(ModItems.rtg_unit, 1), new Object[] { "CLC", "NAN", "CLC", 'N', ModItems.neutron_reflector, 'L', ModItems.plate_lead, 'C', ModItems.plate_copper, 'A', ModItems.circuit_copper }); + GameRegistry.addRecipe(new ItemStack(ModItems.thermo_unit_empty, 1), new Object[] { "TTT", " S ", "P P", 'S', ModItems.ingot_steel, 'P', ModItems.plate_titanium, 'T', ModItems.coil_copper_torus }); + GameRegistry.addRecipe(new ItemStack(ModItems.thermo_unit_endo, 1), new Object[] { "EEE", "ETE", "EEE", 'E', Item.getItemFromBlock(Blocks.ice), 'T', ModItems.thermo_unit_empty }); + GameRegistry.addRecipe(new ItemStack(ModItems.thermo_unit_exo, 1), new Object[] { "LLL", "LTL", "LLL", 'L', Items.lava_bucket, 'T', ModItems.thermo_unit_empty }); + GameRegistry.addRecipe(new ItemStack(ModItems.levitation_unit, 1), new Object[] { "CSC", "TAT", "PSP", 'C', ModItems.coil_copper, 'S', ModItems.nugget_schrabidium, 'T', ModItems.coil_tungsten, 'P', ModItems.plate_titanium, 'A', ModItems.ingot_steel }); + + GameRegistry.addRecipe(new ItemStack(ModItems.cap_aluminium, 1), new Object[] { "PIP", 'P', ModItems.plate_aluminium, 'I', ModItems.ingot_aluminium }); + GameRegistry.addRecipe(new ItemStack(ModItems.hull_small_steel, 1), new Object[] { "PPP", " ", "PPP", 'P', ModItems.plate_steel, 'I', ModItems.ingot_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.hull_small_aluminium, 1), new Object[] { "PPP", " ", "PPP", 'P', ModItems.plate_aluminium, 'I', ModItems.ingot_aluminium }); + GameRegistry.addRecipe(new ItemStack(ModItems.hull_big_steel, 1), new Object[] { "III", " ", "III", 'P', ModItems.plate_steel, 'I', ModItems.ingot_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.hull_big_aluminium, 1), new Object[] { "III", " ", "III", 'P', ModItems.plate_aluminium, 'I', ModItems.ingot_aluminium }); + GameRegistry.addRecipe(new ItemStack(ModItems.hull_big_titanium, 1), new Object[] { "III", " ", "III", 'P', ModItems.plate_titanium, 'I', ModItems.ingot_titanium }); + GameRegistry.addRecipe(new ItemStack(ModItems.fins_flat, 1), new Object[] { "IP", "PP", "IP", 'P', ModItems.plate_steel, 'I', ModItems.ingot_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.fins_small_steel, 1), new Object[] { " PP", "PII", " PP", 'P', ModItems.plate_steel, 'I', ModItems.ingot_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.fins_big_steel, 1), new Object[] { " PI", "III", " PI", 'P', ModItems.plate_steel, 'I', ModItems.ingot_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.fins_tri_steel, 1), new Object[] { " PI", "IIB", " PI", 'P', ModItems.plate_steel, 'I', ModItems.ingot_steel, 'B', Item.getItemFromBlock(ModBlocks.block_steel) }); + GameRegistry.addRecipe(new ItemStack(ModItems.fins_quad_titanium, 1), new Object[] { " PP", "III", " PP", 'P', ModItems.plate_titanium, 'I', ModItems.ingot_titanium }); + GameRegistry.addRecipe(new ItemStack(ModItems.sphere_steel, 1), new Object[] { "PIP", "I I", "PIP", 'P', ModItems.plate_steel, 'I', ModItems.ingot_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.pedestal_steel, 1), new Object[] { "P P", "P P", "III", 'P', ModItems.plate_steel, 'I', ModItems.ingot_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.dysfunctional_reactor, 1), new Object[] { "PPP", "CDC", "PPP", 'P', ModItems.plate_steel, 'C', ModItems.rod_quad_empty, 'D', new ItemStack(Items.dye, 1, 3) }); + + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 1), new Object[] { "AHA", "TCT", "TPT", 'T', ModItems.plate_titanium, 'A', ModItems.plate_aluminium, 'S', ModItems.plate_steel, 'C', ModItems.ingot_copper, 'P', Item.getItemFromBlock(Blocks.piston), 'H', Item.getItemFromBlock(Blocks.hopper) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_centrifuge), 1), new Object[] { " T ", "RDR", "RSR", 'S', ModItems.plate_steel, 'T', ModItems.centrifuge_tower, 'W', ModItems.coil_tungsten, 'R', ModItems.coil_copper, 'D', Item.getItemFromBlock(ModBlocks.machine_difurnace_off) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', ModItems.plate_titanium, 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', ModItems.ingot_red_copper }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_puf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', ModItems.plate_steel, 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', ModItems.ingot_red_copper }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_reactor), 1), new Object[] { "LSL", "SCS", "LSL", 'S', ModItems.ingot_steel, 'L', ModItems.ingot_lead, 'C', ModItems.reactor_core }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 1), new Object[] { "SSS", "SFS", "CCC", 'S', ModItems.plate_steel, 'C', ModItems.plate_copper, 'F', Item.getItemFromBlock(Blocks.furnace) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_rtg_furnace_off), 1), new Object[] { "NNN", "NFN", "UUU", 'N', ModItems.neutron_reflector, 'U', ModItems.rtg_unit, 'F', Item.getItemFromBlock(Blocks.furnace) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 1), new Object[] { "BBB", "WFW", "RRR", 'B', ModItems.ingot_beryllium, 'R', ModItems.coil_tungsten, 'W', ModItems.wire_red_copper, 'F', Item.getItemFromBlock(Blocks.furnace) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_generator), 1), new Object[] { "SLS", "LCL", "SLS", 'C', ModItems.circuit_red_copper, 'L', ModItems.rod_quad_lead, 'S', ModItems.ingot_steel }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 16), new Object[] { "WRW", "RIR", "WRW", 'W', ModItems.ingot_tungsten, 'I', ModItems.ingot_red_copper, 'R', ModItems.wire_red_copper }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_deuterium), 1), new Object[] { "TIT", "RFR", "CCC", 'T', ModItems.tank_steel, 'I', ModItems.ingot_titanium, 'R', ModItems.wire_red_copper, 'F', Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 'C', ModItems.coil_tungsten }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 1), new Object[] { "TST", "RIR", "TLT", 'T', ModItems.ingot_tungsten, 'I', ModItems.ingot_red_copper, 'R', ModItems.wire_red_copper, 'S', Item.getItemFromBlock(ModBlocks.block_sulfur), 'L', Item.getItemFromBlock(ModBlocks.block_lead) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 1), new Object[] { "TLT", "RIR", "TST", 'T', ModItems.ingot_tungsten, 'I', ModItems.ingot_red_copper, 'R', ModItems.wire_red_copper, 'S', Item.getItemFromBlock(ModBlocks.block_sulfur), 'L', Item.getItemFromBlock(ModBlocks.block_lead) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_coal_off), 1), new Object[] { "STS", "SCS", "SFS", 'S', ModItems.ingot_steel, 'T', ModItems.tank_steel, 'C', ModItems.ingot_red_copper, 'F', Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off) }); + + 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.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 }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_light), 1), new Object[] { "FFF", "FBF", "FFF", 'F', Blocks.iron_bars, 'B', Blocks.glowstone }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_lamp_off), 1), new Object[] { "FFF", "FBF", "FFF", 'F', Blocks.iron_bars, 'B', Blocks.redstone_lamp }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_sand), 8), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.sandstone }); + + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.tape_recorder), 4), new Object[] { "TST", "SSS", 'T', ModItems.ingot_tungsten, 'S', ModItems.ingot_steel }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_poles), 16), new Object[] { "S S", "SSS", "S S", 'S', ModItems.ingot_steel }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.pole_top), 1), new Object[] { "T T", "TRT", "BBB", 'T', ModItems.ingot_tungsten, 'B', ModItems.ingot_beryllium, 'R', ModItems.ingot_red_copper }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.pole_satellite_receiver), 1), new Object[] { "SS ", "SCR", "SS ", 'S', ModItems.ingot_steel, 'C', ModItems.circuit_red_copper, 'R', ModItems.wire_red_copper }); + + GameRegistry.addRecipe(new ItemStack(ModItems.gun_rpg, 1), new Object[] { "SSW", " S ", 'S', ModItems.plate_steel, 'W', Item.getItemFromBlock(Blocks.log) }); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_rpg_ammo, 8), new Object[] { "SI ", "ITI", " I ", 'S', ModItems.plate_steel, 'T', Item.getItemFromBlock(Blocks.tnt), 'I', ModItems.plate_iron }); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver, 1), new Object[] { "SSS", " RW", 'S', ModItems.plate_steel, 'W', Item.getItemFromBlock(Blocks.planks), 'R', ModItems.wire_red_copper }); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_ammo, 16), new Object[] { "L", "S", 'L', ModItems.plate_lead, 'S', Items.gunpowder }); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_iron, 1), new Object[] { "SSS", " RW", 'S', ModItems.plate_iron, 'W', Item.getItemFromBlock(Blocks.planks), 'R', ModItems.wire_red_copper }); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_iron_ammo, 16), new Object[] { "L", "S", 'L', ModItems.plate_iron, 'S', Items.gunpowder }); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_gold, 1), new Object[] { "SSS", " RW", 'S', ModItems.plate_gold, 'W', Items.gold_ingot, 'R', ModItems.wire_red_copper }); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_gold_ammo, 16), new Object[] { "L", "S", 'L', ModItems.plate_gold, 'S', Items.gunpowder }); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_schrabidium, 1), new Object[] { "SSS", " RW", 'S', ModItems.plate_schrabidium, 'W', ModItems.ingot_tungsten, 'R', ModItems.wire_red_copper }); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_schrabidium_ammo, 16), new Object[] { "L", "S", 'L', ModItems.plate_schrabidium, 'S', Items.gunpowder }); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_cursed, 1), new Object[] { "TTT", "SRI", 'S', ModItems.plate_steel, 'I', ModItems.ingot_steel, 'R', ModItems.wire_red_copper, 'T', ModItems.plate_titanium }); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_cursed_ammo, 16), new Object[] { "L", "S", 'L', ModItems.plate_steel, 'S', Items.gunpowder }); + + GameRegistry.addRecipe(new ItemStack(ModItems.grenade_generic, 4), new Object[] { "RS ", "ITI", " I ", 'I', ModItems.plate_iron, 'R', ModItems.wire_red_copper, 'S', ModItems.plate_steel, '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 }); + GameRegistry.addRecipe(new ItemStack(ModItems.grenade_frag, 2), new Object[] { " G ", "WGW", " K ", 'G', ModItems.grenade_generic, 'W', Item.getItemFromBlock(Blocks.planks), 'K', Item.getItemFromBlock(Blocks.gravel) }); + GameRegistry.addRecipe(new ItemStack(ModItems.grenade_fire, 2), new Object[] { " G ", "PFP", " S ", 'G', ModItems.grenade_generic, 'F', ModItems.grenade_frag, 'P', ModItems.powder_fire, 'S', ModItems.plate_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.grenade_cluster, 2), new Object[] { " G ", "PFP", " P ", 'G', ModItems.grenade_generic, 'P', ModItems.pellet_cluster, 'F', ModItems.grenade_frag }); + GameRegistry.addRecipe(new ItemStack(ModItems.grenade_flare, 2), new Object[] { " G ", "DGD", " D ", 'G', ModItems.grenade_generic, 'D', Items.glowstone_dust }); + GameRegistry.addRecipe(new ItemStack(ModItems.grenade_electric, 2), new Object[] { " G ", "CSC", " C ", 'G', ModItems.grenade_generic, 'C', ModItems.circuit_red_copper, 'S', ModItems.grenade_strong }); + GameRegistry.addRecipe(new ItemStack(ModItems.grenade_poison, 2), new Object[] { " G ", "PGP", " P ", 'G', ModItems.grenade_generic, 'P', ModItems.powder_poison }); + 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 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.trinitite, 'R', Items.reeds, 'P', Items.pumpkin_seeds }); + GameRegistry.addRecipe(new ItemStack(ModItems.cotton_candy, 2), new Object[] { " S ", "SPS", " H ", 'P', ModItems.nugget_pu239, 'S', Items.sugar, 'H', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.apple_schrabidium, 1, 0), new Object[] { "SSS", "SAS", "SSS", 'S', ModItems.nugget_schrabidium, 'A', Items.apple }); + GameRegistry.addRecipe(new ItemStack(ModItems.apple_schrabidium, 1, 1), new Object[] { "SSS", "SAS", "SSS", 'S', ModItems.ingot_schrabidium, 'A', Items.apple }); + GameRegistry.addRecipe(new ItemStack(ModItems.apple_schrabidium, 1, 2), new Object[] { "SSS", "SAS", "SSS", 'S', Item.getItemFromBlock(ModBlocks.block_schrabidium), 'A', Items.apple }); + + GameRegistry.addRecipe(new ItemStack(ModItems.syringe_empty, 6), new Object[] { "P", "C", "B", 'B', Item.getItemFromBlock(Blocks.iron_bars), 'C', ModItems.cell_empty, 'P', ModItems.plate_iron }); + GameRegistry.addRecipe(new ItemStack(ModItems.syringe_antidote, 6), new Object[] { "SSS", "PMP", "SSS", 'S', ModItems.syringe_empty, 'P', Items.pumpkin_seeds, 'M', Items.milk_bucket }); + GameRegistry.addRecipe(new ItemStack(ModItems.syringe_antidote, 6), new Object[] { "SPS", "SMS", "SPS", 'S', ModItems.syringe_empty, 'P', Items.pumpkin_seeds, 'M', Items.milk_bucket }); + GameRegistry.addRecipe(new ItemStack(ModItems.syringe_antidote, 6), new Object[] { "SSS", "PMP", "SSS", 'S', ModItems.syringe_empty, 'P', Items.pumpkin_seeds, 'M', Items.reeds }); + GameRegistry.addRecipe(new ItemStack(ModItems.syringe_antidote, 6), new Object[] { "SPS", "SMS", "SPS", 'S', ModItems.syringe_empty, 'P', Items.pumpkin_seeds, 'M', Items.reeds }); + GameRegistry.addRecipe(new ItemStack(ModItems.syringe_awesome, 1), new Object[] { "SPS", "NCN", "SPS", 'C', ModItems.syringe_empty, 'S', ModItems.sulfur, 'P', ModItems.nugget_pu239, 'N', ModItems.nugget_pu238 }); + GameRegistry.addRecipe(new ItemStack(ModItems.syringe_awesome, 1), new Object[] { "SNS", "PCP", "SNS", 'C', ModItems.syringe_empty, 'S', ModItems.sulfur, 'P', ModItems.nugget_pu239, 'N', ModItems.nugget_pu238 }); + + + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_gadget), 1), new Object[] { "DGD", "FCF", "DPD", 'G', ModItems.wire_gold, 'F', ModItems.fins_flat, 'C', ModItems.sphere_steel, 'P', ModItems.pedestal_steel, 'D', new ItemStack(Items.dye, 1, 8) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_boy), 1), new Object[] { "ADD", "HHF", "CDD", 'A', ModItems.wire_aluminium, 'H', ModItems.hull_small_steel, 'C', ModItems.circuit_aluminium, 'F', ModItems.fins_small_steel, 'D', new ItemStack(Items.dye, 1, 4) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_man), 1), new Object[] { "ADD", "SHF", "CDD", 'A', ModItems.wire_aluminium, 'S', ModItems.sphere_steel, 'H', ModItems.hull_big_steel, 'F', ModItems.fins_big_steel, 'C', ModItems.circuit_aluminium, 'D', new ItemStack(Items.dye, 1, 11) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_mike), 1), new Object[] { "DCD", "HSH", "ATA", 'C', ModItems.cap_aluminium, 'H', ModItems.hull_big_aluminium, 'S', ModItems.sphere_steel, 'A', ModItems.circuit_red_copper, 'T', ModItems.tank_steel, 'D', new ItemStack(Items.dye, 1, 7) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_tsar), 1), new Object[] { "CHD", "STF", "CHD", 'C', ModItems.circuit_red_copper, 'H', ModItems.hull_big_titanium, 'S', ModItems.sphere_steel, 'T', ModItems.tank_steel, 'F', ModItems.fins_tri_steel, 'D', new ItemStack(Items.dye, 1, 0) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_fleija), 1), new Object[] { "DGD", "CHF", "DGD", 'G', ModItems.wire_gold, 'C', ModItems.circuit_gold, 'H', ModItems.hull_small_aluminium, 'F', ModItems.fins_quad_titanium, 'D', new ItemStack(Items.dye, 1, 15) }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_prototype), 1), new Object[] { "GCG", "HRH", "GCG", 'G', ModItems.wire_gold, 'C', ModItems.ingot_euphemium, 'H', ModItems.hull_small_steel, 'R', ModItems.dysfunctional_reactor }); + + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.bomb_multi), 1), new Object[] { "AAD", "CHF", "AAD", 'A', ModItems.wire_aluminium, 'C', ModItems.circuit_aluminium, 'H', ModItems.hull_small_aluminium, 'F', ModItems.fins_quad_titanium, 'D', new ItemStack(Items.dye, 1, 15) }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.pellet_cluster, 8), new Object[] { ModItems.plate_iron, Item.getItemFromBlock(Blocks.tnt), ModItems.plate_steel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.powder_fire, 4), new Object[] { Items.blaze_powder, ModItems.sulfur, Items.redstone }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.powder_poison, 4), new Object[] { Items.spider_eye, Items.redstone, Items.quartz }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.pellet_gas, 2), new Object[] { Items.water_bucket, Items.glowstone_dust, ModItems.plate_steel }); + + GameRegistry.addRecipe(new ItemStack(ModItems.flame_pony, 1), new Object[] { " O ", "DPD", " O ", 'D', new ItemStack(Items.dye, 1, 7), 'O', new ItemStack(Items.dye, 1, 5), 'P', Items.paper }); + GameRegistry.addRecipe(new ItemStack(ModItems.flame_conspiracy, 1), new Object[] { " S ", "STS", " S ", 'S', Item.getItemFromBlock(Blocks.stone), 'T', Item.getItemFromBlock(Blocks.tnt) }); + GameRegistry.addRecipe(new ItemStack(ModItems.flame_politics, 1), new Object[] { " I ", "IPI", " I ", 'P', Items.paper, 'I', new ItemStack(Items.dye, 1, 0) }); + GameRegistry.addRecipe(new ItemStack(ModItems.flame_opinion, 1), new Object[] { " R ", "RPR", " R ", 'P', Items.paper, 'R', new ItemStack(Items.dye, 1, 1) }); + + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.flame_war), 1), new Object[] { "WHW", "CTP", "WOW", 'W', Item.getItemFromBlock(Blocks.planks), 'T', Item.getItemFromBlock(Blocks.tnt), 'H', ModItems.flame_pony, 'C', ModItems.flame_conspiracy, 'P', ModItems.flame_politics, 'O', ModItems.flame_opinion }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.float_bomb), 1), new Object[] { "TGT", "TUT", "TGT", 'T', ModItems.plate_titanium, 'U', ModItems.levitation_unit, 'G', ModItems.circuit_gold }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.therm_endo), 1), new Object[] { "TGT", "TUT", "TGT", 'T', ModItems.plate_titanium, 'U', ModItems.thermo_unit_endo, 'G', ModItems.circuit_gold }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.therm_exo), 1), new Object[] { "TGT", "TUT", "TGT", 'T', ModItems.plate_titanium, 'U', ModItems.thermo_unit_exo, 'G', ModItems.circuit_gold }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.det_cord), 8), new Object[] { "TNT", "NGN", "TNT", 'T', ModItems.plate_titanium, 'N', ModItems.niter, 'G', Items.gunpowder }); + + GameRegistry.addRecipe(new ItemStack(ModItems.gadget_core, 1), new Object[] { "PPP", "PUP", "PPP", 'P', ModItems.nugget_pu239, 'U', ModItems.nugget_u238 }); + GameRegistry.addRecipe(new ItemStack(ModItems.gadget_explosive, 16), new Object[] { "ATP", "ATW", "ATP", 'P', ModItems.plate_titanium, 'A', ModItems.plate_aluminium, 'T', Item.getItemFromBlock(Blocks.tnt), 'W', ModItems.wire_gold }); + GameRegistry.addRecipe(new ItemStack(ModItems.gadget_explosive8, 1), new Object[] { "EEE", "EPE", "EEE", 'E', ModItems.gadget_explosive, 'P', ModItems.plate_aluminium }); + GameRegistry.addRecipe(new ItemStack(ModItems.gadget_wireing, 1), new Object[] { "WWW", "WSW", "WWW", 'W', ModItems.wire_gold, 'S', ModItems.plate_titanium }); + + GameRegistry.addRecipe(new ItemStack(ModItems.boy_bullet, 1), new Object[] { "##", '#', ModItems.nugget_u235 }); + GameRegistry.addRecipe(new ItemStack(ModItems.boy_igniter, 1), new Object[] { " AA", "WWS", " AA", 'A', ModItems.plate_aluminium, 'W', ModItems.wire_red_copper, 'S', ModItems.circuit_aluminium }); + GameRegistry.addRecipe(new ItemStack(ModItems.boy_propellant, 1), new Object[] { "TTT", "PPW", "TTT", 'T', ModItems.plate_titanium, 'W', ModItems.wire_red_copper, 'P', Item.getItemFromBlock(Blocks.tnt) }); + GameRegistry.addRecipe(new ItemStack(ModItems.boy_shielding, 1), new Object[] { "## ", "# #", "## ", '#', ModItems.neutron_reflector }); + GameRegistry.addRecipe(new ItemStack(ModItems.boy_target, 1), new Object[] { "###", "# ", "###", '#', ModItems.nugget_u235 }); + + GameRegistry.addRecipe(new ItemStack(ModItems.man_core, 1), new Object[] { "PPP", "PBP", "PPP", 'P', ModItems.nugget_pu239, 'B', ModItems.nugget_beryllium }); + GameRegistry.addRecipe(new ItemStack(ModItems.man_explosive, 16), new Object[] { "UTP", "UTW", "UTP", 'P', ModItems.plate_titanium, 'U', ModItems.nugget_u238, 'T', Item.getItemFromBlock(Blocks.tnt), 'W', ModItems.wire_red_copper }); + GameRegistry.addRecipe(new ItemStack(ModItems.man_explosive8, 1), new Object[] { "EEE", "ESE", "EEE", 'E', ModItems.man_explosive, 'S', ModItems.plate_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.man_igniter, 1), new Object[] { " S ", "WWW", 'W', ModItems.wire_red_copper, 'S', ModItems.circuit_aluminium }); + + GameRegistry.addRecipe(new ItemStack(ModItems.mike_core, 1), new Object[] { "UPU", "UPU", "UPU", 'U', ModItems.nugget_u238, 'P', ModItems.nugget_pu239 }); + GameRegistry.addRecipe(new ItemStack(ModItems.mike_deut, 1), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.cell_deuterium, 'T', ModItems.tank_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.mike_cooling_unit, 1), new Object[] { "WSC", "WMC", "WAC", 'W', ModItems.coil_tungsten, 'C', ModItems.coil_copper, 'S', ModItems.plate_steel, 'M', ModItems.motor, 'A', ModItems.circuit_copper }); + + GameRegistry.addRecipe(new ItemStack(ModItems.fleija_igniter, 1), new Object[] { " TT", "TSW", " TT", 'T', ModItems.plate_titanium, 'S', ModItems.circuit_schrabidium, 'W', ModItems.wire_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.fleija_propellant, 1), new Object[] { "PPP", "TST", "PPP", 'P', ModItems.plate_schrabidium, 'S', ModItems.ingot_schrabidium, 'T', Item.getItemFromBlock(Blocks.tnt) }); + GameRegistry.addRecipe(new ItemStack(ModItems.fleija_core, 1), new Object[] { "NUU", "BHW", "NUU", 'N', ModItems.nugget_neptunium, 'B', ModItems.nugget_beryllium, 'U', ModItems.nugget_u235, 'H', ModItems.coil_copper, 'W', ModItems.wire_red_copper }); + + GameRegistry.addRecipe(new ItemStack(ModItems.battery_generic, 1, 50), new Object[] { " A ", "PRP", "PRP", 'A', ModItems.wire_aluminium, 'P', ModItems.plate_aluminium, 'R', Items.redstone }); + GameRegistry.addRecipe(new ItemStack(ModItems.battery_advanced, 1, 200), new Object[] { " A ", "PSP", "PLP", 'A', ModItems.wire_red_copper, 'P', ModItems.plate_copper, 'S', ModItems.sulfur, 'L', ModItems.powder_lead }); + GameRegistry.addRecipe(new ItemStack(ModItems.battery_advanced, 1, 200), new Object[] { " A ", "PLP", "PSP", 'A', ModItems.wire_red_copper, 'P', ModItems.plate_copper, 'S', ModItems.sulfur, 'L', ModItems.powder_lead }); + 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.nuke_starter_kit, 1), new Object[] { " P ", "ISI", "III", 'P', ModItems.plate_steel, 'I', ModItems.plate_iron, 'S', ModItems.ingot_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.nuke_advanced_kit, 1), new Object[] { " P ", "ISI", "III", 'P', ModItems.plate_steel, 'I', ModItems.plate_schrabidium, 'S', ModItems.ingot_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.nuke_commercially_kit, 1), new Object[] { " P ", "ISI", "III", 'P', ModItems.plate_steel, 'I', ModItems.plate_copper, 'S', ModItems.ingot_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.nuke_electric_kit, 1), new Object[] { " P ", "ISI", "III", 'P', ModItems.plate_steel, 'I', ModItems.plate_iron, 'S', ModItems.ingot_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.gadget_kit, 1), new Object[] { " P ", "ISI", "IDI", 'P', ModItems.plate_steel, 'I', ModItems.plate_titanium, 'S', ModItems.ingot_schrabidium, 'D', Item.getItemFromBlock(ModBlocks.nuke_gadget) }); + GameRegistry.addRecipe(new ItemStack(ModItems.boy_kit, 1), new Object[] { " P ", "ISI", "IDI", 'P', ModItems.plate_steel, 'I', ModItems.plate_iron, 'S', ModItems.ingot_schrabidium, 'D', Item.getItemFromBlock(ModBlocks.nuke_boy) }); + GameRegistry.addRecipe(new ItemStack(ModItems.man_kit, 1), new Object[] { " P ", "ISI", "IDI", 'P', ModItems.plate_steel, 'I', ModItems.plate_iron, 'S', ModItems.ingot_schrabidium, 'D', Item.getItemFromBlock(ModBlocks.nuke_man) }); + GameRegistry.addRecipe(new ItemStack(ModItems.mike_kit, 1), new Object[] { " P ", "ISI", "IDI", 'P', ModItems.plate_steel, 'I', ModItems.plate_iron, 'S', ModItems.ingot_schrabidium, 'D', Item.getItemFromBlock(ModBlocks.nuke_mike) }); + GameRegistry.addRecipe(new ItemStack(ModItems.tsar_kit, 1), new Object[] { " P ", "ISI", "IDI", 'P', ModItems.plate_steel, 'I', ModItems.plate_iron, 'S', ModItems.ingot_schrabidium, 'D', Item.getItemFromBlock(ModBlocks.nuke_tsar) }); + GameRegistry.addRecipe(new ItemStack(ModItems.fleija_kit, 1), new Object[] { " P ", "ISI", "IDI", 'P', ModItems.plate_steel, 'I', ModItems.plate_iron, 'S', ModItems.ingot_schrabidium, 'D', Item.getItemFromBlock(ModBlocks.nuke_fleija) }); + GameRegistry.addRecipe(new ItemStack(ModItems.multi_kit, 1), new Object[] { " P ", "ISI", "IDI", 'P', ModItems.plate_steel, 'I', ModItems.plate_iron, 'S', ModItems.ingot_schrabidium, 'D', Item.getItemFromBlock(ModBlocks.bomb_multi) }); + GameRegistry.addRecipe(new ItemStack(ModItems.grenade_kit, 1), new Object[] { " P ", "ISI", "IDI", 'P', ModItems.plate_steel, 'I', ModItems.plate_iron, 'S', ModItems.ingot_schrabidium, 'D', ModItems.grenade_generic }); + GameRegistry.addRecipe(new ItemStack(ModItems.prototype_kit, 1), new Object[] { " P ", "ISI", "IDI", 'P', ModItems.plate_steel, 'I', ModItems.plate_iron, 'S', ModItems.ingot_schrabidium, 'D', Item.getItemFromBlock(ModBlocks.nuke_prototype) }); + + GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.ingot_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_plate, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.ingot_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.ingot_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_boots, 1), new Object[] { "E E", "E E", 'E', ModItems.ingot_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_sword, 1), new Object[] { "I", "I", "S", 'I', ModItems.ingot_schrabidium, 'S', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_pickaxe, 1), new Object[] { "III", " S ", " S ", 'I', ModItems.ingot_schrabidium, 'S', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_axe, 1), new Object[] { "II", "IS", " S", 'I', ModItems.ingot_schrabidium, 'S', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_shovel, 1), new Object[] { "I", "S", "S", 'I', ModItems.ingot_schrabidium, 'S', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_hoe, 1), new Object[] { "II", " S", " S", 'I', ModItems.ingot_schrabidium, 'S', Items.stick }); + + GameRegistry.addRecipe(new ItemStack(ModItems.igniter, 1), new Object[] { " W", "SC", "CE", 'S', ModItems.plate_steel, '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_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 }); + GameRegistry.addRecipe(new ItemStack(ModItems.apple_euphemium, 1), new Object[] { "EEE", "EAE", "EEE", 'E', ModItems.nugget_euphemium, 'A', Items.apple }); + + GameRegistry.addRecipe(new ItemStack(ModItems.mask_of_infamy, 1), new Object[] { "III", "III", " I ", 'I', ModItems.plate_iron }); + GameRegistry.addRecipe(new ItemStack(ModItems.designator, 9), new Object[] { "#", '#', ModItems.plate_iron }); + } + + public static void AddSmeltingRec() + { + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_uranium), new ItemStack(ModItems.ingot_uranium), 6.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_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), 120.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(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); + } +} diff --git a/com/hbm/main/GUIHandler.java b/com/hbm/main/GUIHandler.java new file mode 100644 index 000000000..a78d83950 --- /dev/null +++ b/com/hbm/main/GUIHandler.java @@ -0,0 +1,454 @@ +package com.hbm.main; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.TileEntityBombMulti; +import com.hbm.blocks.TileEntityDiFurnace; +import com.hbm.blocks.TileEntityLaunchPad; +import com.hbm.blocks.TileEntityMachineBattery; +import com.hbm.blocks.TileEntityMachineCoal; +import com.hbm.blocks.TileEntityMachineDeuterium; +import com.hbm.blocks.TileEntityMachineElectricFurnace; +import com.hbm.blocks.TileEntityMachineGenerator; +import com.hbm.blocks.TileEntityMachineCentrifuge; +import com.hbm.blocks.TileEntityMachinePuF6Tank; +import com.hbm.blocks.TileEntityMachineReactor; +import com.hbm.blocks.TileEntityMachineUF6Tank; +import com.hbm.blocks.TileEntityNukeBoy; +import com.hbm.blocks.TileEntityNukeFleija; +import com.hbm.blocks.TileEntityNukeFurnace; +import com.hbm.blocks.TileEntityNukeGadget; +import com.hbm.blocks.TileEntityNukeMan; +import com.hbm.blocks.TileEntityNukeMike; +import com.hbm.blocks.TileEntityNukePrototype; +import com.hbm.blocks.TileEntityNukeTsar; +import com.hbm.blocks.TileEntityRtgFurnace; +import com.hbm.blocks.TileEntityTestNuke; +import com.hbm.gui.ContainerBombMulti; +import com.hbm.gui.ContainerDiFurnace; +import com.hbm.gui.ContainerCentrifuge; +import com.hbm.gui.ContainerElectricFurnace; +import com.hbm.gui.ContainerGenerator; +import com.hbm.gui.ContainerLaunchPadTier1; +import com.hbm.gui.ContainerMachineBattery; +import com.hbm.gui.ContainerMachineCoal; +import com.hbm.gui.ContainerMachineDeuterium; +import com.hbm.gui.ContainerNukeBoy; +import com.hbm.gui.ContainerNukeFleija; +import com.hbm.gui.ContainerNukeFurnace; +import com.hbm.gui.ContainerNukeGadget; +import com.hbm.gui.ContainerNukeMan; +import com.hbm.gui.ContainerNukeMike; +import com.hbm.gui.ContainerNukePrototype; +import com.hbm.gui.ContainerNukeTsar; +import com.hbm.gui.ContainerPuF6Tank; +import com.hbm.gui.ContainerReactor; +import com.hbm.gui.ContainerRtgFurnace; +import com.hbm.gui.ContainerTestNuke; +import com.hbm.gui.ContainerUF6Tank; +import com.hbm.gui.GUIBombMulti; +import com.hbm.gui.GUILaunchPadTier1; +import com.hbm.gui.GUIMachineBattery; +import com.hbm.gui.GUIMachineCentrifuge; +import com.hbm.gui.GUIMachineCoal; +import com.hbm.gui.GUIMachineDeuterium; +import com.hbm.gui.GUIMachineElectricFurnace; +import com.hbm.gui.GUIMachineGenerator; +import com.hbm.gui.GUIMachinePuF6Tank; +import com.hbm.gui.GUIMachineReactor; +import com.hbm.gui.GUIMachineUF6Tank; +import com.hbm.gui.GUINukeBoy; +import com.hbm.gui.GUINukeFleija; +import com.hbm.gui.GUINukeFurnace; +import com.hbm.gui.GUINukeGadget; +import com.hbm.gui.GUINukeMan; +import com.hbm.gui.GUINukeMike; +import com.hbm.gui.GUINukePrototype; +import com.hbm.gui.GUINukeTsar; +import com.hbm.gui.GUIRtgFurnace; +import com.hbm.gui.GUITestDiFurnace; +import com.hbm.gui.GUITestNuke; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import cpw.mods.fml.common.network.IGuiHandler; + +public class GUIHandler implements IGuiHandler { + + @Override + public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + TileEntity entity = world.getTileEntity(x, y, z); + switch(ID) + { + case ModBlocks.guiID_test_difurnace: + { + if(entity instanceof TileEntityDiFurnace) + { + return new ContainerDiFurnace(player.inventory, (TileEntityDiFurnace) entity); + } + return null; + } + + case ModBlocks.guiID_test_nuke: + { + if(entity instanceof TileEntityTestNuke) + { + return new ContainerTestNuke(player.inventory, (TileEntityTestNuke) entity); + } + return null; + } + + case ModBlocks.guiID_nuke_gadget: + { + if(entity instanceof TileEntityNukeGadget) + { + return new ContainerNukeGadget(player.inventory, (TileEntityNukeGadget) entity); + } + } + + case ModBlocks.guiID_nuke_boy: + { + if(entity instanceof TileEntityNukeBoy) + { + return new ContainerNukeBoy(player.inventory, (TileEntityNukeBoy) entity); + } + } + + case ModBlocks.guiID_centrifuge: + { + if(entity instanceof TileEntityMachineCentrifuge) + { + return new ContainerCentrifuge(player.inventory, (TileEntityMachineCentrifuge) entity); + } + } + + case ModBlocks.guiID_nuke_man: + { + if(entity instanceof TileEntityNukeMan) + { + return new ContainerNukeMan(player.inventory, (TileEntityNukeMan) entity); + } + } + + case ModBlocks.guiID_uf6_tank: + { + if(entity instanceof TileEntityMachineUF6Tank) + { + return new ContainerUF6Tank(player.inventory, (TileEntityMachineUF6Tank) entity); + } + } + + case ModBlocks.guiID_puf6_tank: + { + if(entity instanceof TileEntityMachinePuF6Tank) + { + return new ContainerPuF6Tank(player.inventory, (TileEntityMachinePuF6Tank) entity); + } + } + + case ModBlocks.guiID_reactor: + { + if(entity instanceof TileEntityMachineReactor) + { + return new ContainerReactor(player.inventory, (TileEntityMachineReactor) entity); + } + } + + case ModBlocks.guiID_bomb_multi: + { + if(entity instanceof TileEntityBombMulti) + { + return new ContainerBombMulti(player.inventory, (TileEntityBombMulti) entity); + } + } + + case ModBlocks.guiID_nuke_mike: + { + if(entity instanceof TileEntityNukeMike) + { + return new ContainerNukeMike(player.inventory, (TileEntityNukeMike) entity); + } + } + + case ModBlocks.guiID_nuke_tsar: + { + if(entity instanceof TileEntityNukeTsar) + { + return new ContainerNukeTsar(player.inventory, (TileEntityNukeTsar) entity); + } + } + + case ModBlocks.guiID_nuke_furnace: + { + if(entity instanceof TileEntityNukeFurnace) + { + return new ContainerNukeFurnace(player.inventory, (TileEntityNukeFurnace) entity); + } + } + + case ModBlocks.guiID_rtg_furnace: + { + if(entity instanceof TileEntityRtgFurnace) + { + return new ContainerRtgFurnace(player.inventory, (TileEntityRtgFurnace) entity); + } + } + + case ModBlocks.guiID_machine_generator: + { + if(entity instanceof TileEntityMachineGenerator) + { + return new ContainerGenerator(player.inventory, (TileEntityMachineGenerator) entity); + } + } + + case ModBlocks.guiID_electric_furnace: + { + if(entity instanceof TileEntityMachineElectricFurnace) + { + return new ContainerElectricFurnace(player.inventory, (TileEntityMachineElectricFurnace) entity); + } + } + + case ModBlocks.guiID_nuke_fleija: + { + if(entity instanceof TileEntityNukeFleija) + { + return new ContainerNukeFleija(player.inventory, (TileEntityNukeFleija) entity); + } + } + + case ModBlocks.guiID_machine_deuterium: + { + if(entity instanceof TileEntityMachineDeuterium) + { + return new ContainerMachineDeuterium(player.inventory, (TileEntityMachineDeuterium) entity); + } + } + + case ModBlocks.guiID_machine_battery: + { + if(entity instanceof TileEntityMachineBattery) + { + return new ContainerMachineBattery(player.inventory, (TileEntityMachineBattery) entity); + } + } + + case ModBlocks.guiID_machine_coal: + { + if(entity instanceof TileEntityMachineCoal) + { + return new ContainerMachineCoal(player.inventory, (TileEntityMachineCoal) entity); + } + } + + case ModBlocks.guiID_nuke_prototype: + { + if(entity instanceof TileEntityNukePrototype) + { + return new ContainerNukePrototype(player.inventory, (TileEntityNukePrototype) entity); + } + } + + case ModBlocks.guiID_launch_pad: + { + if(entity instanceof TileEntityLaunchPad) + { + return new ContainerLaunchPadTier1(player.inventory, (TileEntityLaunchPad) entity); + } + } + } + return null; + } + + @Override + public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + TileEntity entity = world.getTileEntity(x, y, z); + if(entity != null) + { + switch(ID) + { + case ModBlocks.guiID_test_difurnace: + { + if(entity instanceof TileEntityDiFurnace) + { + return new GUITestDiFurnace(player.inventory, (TileEntityDiFurnace) entity); + } + return null; + } + + case ModBlocks.guiID_test_nuke: + { + if(entity instanceof TileEntityTestNuke) + { + return new GUITestNuke(player.inventory, (TileEntityTestNuke) entity); + } + return null; + } + + case ModBlocks.guiID_nuke_gadget: + { + if(entity instanceof TileEntityNukeGadget) + { + return new GUINukeGadget(player.inventory, (TileEntityNukeGadget) entity); + } + } + + case ModBlocks.guiID_nuke_boy: + { + if(entity instanceof TileEntityNukeBoy) + { + return new GUINukeBoy(player.inventory, (TileEntityNukeBoy) entity); + } + } + + case ModBlocks.guiID_centrifuge: + { + if(entity instanceof TileEntityMachineCentrifuge) + { + return new GUIMachineCentrifuge(player.inventory, (TileEntityMachineCentrifuge) entity); + } + } + + case ModBlocks.guiID_nuke_man: + { + if(entity instanceof TileEntityNukeMan) + { + return new GUINukeMan(player.inventory, (TileEntityNukeMan) entity); + } + } + + case ModBlocks.guiID_uf6_tank: + { + if(entity instanceof TileEntityMachineUF6Tank) + { + return new GUIMachineUF6Tank(player.inventory, (TileEntityMachineUF6Tank) entity); + } + } + + case ModBlocks.guiID_puf6_tank: + { + if(entity instanceof TileEntityMachinePuF6Tank) + { + return new GUIMachinePuF6Tank(player.inventory, (TileEntityMachinePuF6Tank) entity); + } + } + + case ModBlocks.guiID_reactor: + { + if(entity instanceof TileEntityMachineReactor) + { + return new GUIMachineReactor(player.inventory, (TileEntityMachineReactor) entity); + } + } + + case ModBlocks.guiID_bomb_multi: + { + if(entity instanceof TileEntityBombMulti) + { + return new GUIBombMulti(player.inventory, (TileEntityBombMulti) entity); + } + } + + case ModBlocks.guiID_nuke_mike: + { + if(entity instanceof TileEntityNukeMike) + { + return new GUINukeMike(player.inventory, (TileEntityNukeMike) entity); + } + } + + case ModBlocks.guiID_nuke_tsar: + { + if(entity instanceof TileEntityNukeTsar) + { + return new GUINukeTsar(player.inventory, (TileEntityNukeTsar) entity); + } + } + + case ModBlocks.guiID_nuke_furnace: + { + if(entity instanceof TileEntityNukeFurnace) + { + return new GUINukeFurnace(player.inventory, (TileEntityNukeFurnace) entity); + } + } + + case ModBlocks.guiID_rtg_furnace: + { + if(entity instanceof TileEntityRtgFurnace) + { + return new GUIRtgFurnace(player.inventory, (TileEntityRtgFurnace) entity); + } + } + + case ModBlocks.guiID_machine_generator: + { + if(entity instanceof TileEntityMachineGenerator) + { + return new GUIMachineGenerator(player.inventory, (TileEntityMachineGenerator) entity); + } + } + + case ModBlocks.guiID_electric_furnace: + { + if(entity instanceof TileEntityMachineElectricFurnace) + { + return new GUIMachineElectricFurnace(player.inventory, (TileEntityMachineElectricFurnace) entity); + } + } + + case ModBlocks.guiID_nuke_fleija: + { + if(entity instanceof TileEntityNukeFleija) + { + return new GUINukeFleija(player.inventory, (TileEntityNukeFleija) entity); + } + } + + case ModBlocks.guiID_machine_deuterium: + { + if(entity instanceof TileEntityMachineDeuterium) + { + return new GUIMachineDeuterium(player.inventory, (TileEntityMachineDeuterium) entity); + } + } + + case ModBlocks.guiID_machine_battery: + { + if(entity instanceof TileEntityMachineBattery) + { + return new GUIMachineBattery(player.inventory, (TileEntityMachineBattery) entity); + } + } + + case ModBlocks.guiID_machine_coal: + { + if(entity instanceof TileEntityMachineCoal) + { + return new GUIMachineCoal(player.inventory, (TileEntityMachineCoal) entity); + } + } + + case ModBlocks.guiID_nuke_prototype: + { + if(entity instanceof TileEntityNukePrototype) + { + return new GUINukePrototype(player.inventory, (TileEntityNukePrototype) entity); + } + } + + case ModBlocks.guiID_launch_pad: + { + if(entity instanceof TileEntityLaunchPad) + { + return new GUILaunchPadTier1(player.inventory, (TileEntityLaunchPad) entity); + } + } + } + } + return null; + } + +} diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java new file mode 100644 index 000000000..c5fa7cc46 --- /dev/null +++ b/com/hbm/main/MainRegistry.java @@ -0,0 +1,351 @@ +package com.hbm.main; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.stats.Achievement; +import net.minecraftforge.common.AchievementPage; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.util.EnumHelper; +import net.minecraftforge.oredict.OreDictionary; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.Mod.EventHandler; +import cpw.mods.fml.common.Mod.Instance; +import cpw.mods.fml.common.Mod.Metadata; +import cpw.mods.fml.common.ModMetadata; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.TileEntityBombMulti; +import com.hbm.blocks.TileEntityDecoBlock; +import com.hbm.blocks.TileEntityDecoPoleSatelliteReceiver; +import com.hbm.blocks.TileEntityDecoPoleTop; +import com.hbm.blocks.TileEntityDecoSteelPoles; +import com.hbm.blocks.TileEntityDecoTapeRecorder; +import com.hbm.blocks.TileEntityDiFurnace; +import com.hbm.blocks.TileEntityLaunchPad; +import com.hbm.blocks.TileEntityMachineBattery; +import com.hbm.blocks.TileEntityMachineCoal; +import com.hbm.blocks.TileEntityMachineDeuterium; +import com.hbm.blocks.TileEntityMachineElectricFurnace; +import com.hbm.blocks.TileEntityMachineGenerator; +import com.hbm.blocks.TileEntityMachineCentrifuge; +import com.hbm.blocks.TileEntityMachinePuF6Tank; +import com.hbm.blocks.TileEntityMachineReactor; +import com.hbm.blocks.TileEntityMachineUF6Tank; +import com.hbm.blocks.TileEntityNukeBoy; +import com.hbm.blocks.TileEntityNukeFleija; +import com.hbm.blocks.TileEntityNukeFurnace; +import com.hbm.blocks.TileEntityNukeGadget; +import com.hbm.blocks.TileEntityNukeMan; +import com.hbm.blocks.TileEntityNukePrototype; +import com.hbm.blocks.TileEntityNukeTsar; +import com.hbm.blocks.TileEntityObjTester; +import com.hbm.blocks.TileEntityRedBarrel; +import com.hbm.blocks.TileEntityRotationTester; +import com.hbm.blocks.TileEntityRtgFurnace; +import com.hbm.blocks.TileEntityTestBombAdvanced; +import com.hbm.blocks.TileEntityTestContainer; +import com.hbm.blocks.TileEntityTestNuke; +import com.hbm.blocks.TileEntityTestRender; +import com.hbm.blocks.TileEntityWireCoated; +import com.hbm.blocks.TileEntityYellowBarrel; +import com.hbm.creativetabs.BlockTab; +import com.hbm.creativetabs.NukeTab; +import com.hbm.creativetabs.PartsTab; +import com.hbm.creativetabs.TestTab; +import com.hbm.entity.EntityBullet; +import com.hbm.entity.EntityGrenadeCluster; +import com.hbm.entity.EntityGrenadeElectric; +import com.hbm.entity.EntityGrenadeFire; +import com.hbm.entity.EntityGrenadeFlare; +import com.hbm.entity.EntityGrenadeFrag; +import com.hbm.entity.EntityGrenadeGas; +import com.hbm.entity.EntityGrenadeGeneric; +import com.hbm.entity.EntityGrenadeNuke; +import com.hbm.entity.EntityGrenadePoison; +import com.hbm.entity.EntityGrenadeSchrabidium; +import com.hbm.entity.EntityGrenadeStrong; +import com.hbm.entity.EntityMirv; +import com.hbm.entity.EntityMissileAntiBallistic; +import com.hbm.entity.EntityMissileBunkerBuster; +import com.hbm.entity.EntityMissileBurst; +import com.hbm.entity.EntityMissileBusterStrong; +import com.hbm.entity.EntityMissileCluster; +import com.hbm.entity.EntityMissileClusterStrong; +import com.hbm.entity.EntityMissileDrill; +import com.hbm.entity.EntityMissileEndo; +import com.hbm.entity.EntityMissileExo; +import com.hbm.entity.EntityMissileGeneric; +import com.hbm.entity.EntityMissileIncendiary; +import com.hbm.entity.EntityMissileIncendiaryStrong; +import com.hbm.entity.EntityMissileInferno; +import com.hbm.entity.EntityMissileMirv; +import com.hbm.entity.EntityMissileNuclear; +import com.hbm.entity.EntityMissileRain; +import com.hbm.entity.EntityMissileStrong; +import com.hbm.entity.EntityNuclearCreeper; +import com.hbm.entity.EntityNukeCloudSmall; +import com.hbm.entity.EntityNukeExplosion; +import com.hbm.entity.EntityNukeExplosionAdvanced; +import com.hbm.entity.EntityRocket; +import com.hbm.entity.EntitySchrab; +import com.hbm.entity.EntityTestMissile; +import com.hbm.items.ModItems; +import com.hbm.lib.HbmWorld; +import com.hbm.lib.RefStrings; +import com.hbm.particles.NukeSmokeFX; + +import cpw.mods.fml.common.SidedProxy; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.network.NetworkRegistry; +import cpw.mods.fml.common.registry.EntityRegistry; +import cpw.mods.fml.common.registry.GameRegistry; + +@Mod(modid = RefStrings.MODID, name = RefStrings.NAME, version = RefStrings.VERSION) +public class MainRegistry +{ + @Instance(RefStrings.MODID) + public static MainRegistry instance; + + /*public static Achievement achievementGetTitanium; + public static Achievement achievementCraftDiFurnace; + public static Achievement achievementGetSteel; + public static Achievement achievementCraftCentrifuge; + public static Achievement achievementGetUranium; + public static Achievement achievementCraftReactor; + public static Achievement achievementGetPlutonium; + public static Achievement achievementGetSchrabidium; + public static Achievement achievementGetEuphemium; + + public static Achievement achievementGetRedCopper; + public static Achievement achievementCraftWireCoated; + public static Achievement achievementCraftCoal; + public static Achievement achievementCraftGenerator; + public static Achievement achievementCraftElectricFurnace; + public static Achievement achievementCraftDeuterium; + + public static Achievement achievementCraftCircuit; + public static Achievement achievementCraftBattery; + public static Achievement achievementCraftEnergyStorage; + + public static Achievement achievementCraftNukeFurnace; + public static Achievement achievementCraftUraniumRod; + public static Achievement achievementCraftUraniumDualRod; + public static Achievement achievementCraftUraniumQuadRod; + public static Achievement achievementCraftUraniumFuel; + + public static Achievement achievementCraftPlutoniumRod; + public static Achievement achievementCraftRtg; + public static Achievement achievementCraftRtgFurnace; + public static Achievement achievementCraftPlutoniumFuel; + public static Achievement achievementCraftMoxFuel; + + public static Achievement achievementCraftSchrabidiumRod; + public static Achievement achievementCraftSchrabidiumFuel; + public static Achievement achievementCraftSchrabidiumApple; + public static Achievement achievementCraftSchrabidiumCircuit; + + public static Achievement achievementCraftWatch; + + public static Achievement achievementGetNeutronReflector; + + public static Achievement achievementCraftRevolver; + public static Achievement achievementCraftGrenade; + public static Achievement achievementCraftGrenadeStrong; + public static Achievement achievementCraftGrenadeCluster; + public static Achievement achievementCraftGrenadeFlare; + public static Achievement achievementCraftGrenadeSchrbidium; + + public static Achievement achievementCraftLittleBoy; + + public static Achievement achievementCraftTheGadget; + public static Achievement achievementCraftFatMan; + public static Achievement achievementCraftIvyMike; + public static Achievement achievementCraftTsarBomba; + + public static Achievement achievementCraftFleija; + + public static Achievement achievementCraftIgniter; + public static Achievement achievementCraftSas3; + public static Achievement achievementCraftPrototype;*/ + + @SidedProxy(clientSide = RefStrings.CLIENTSIDE, serverSide = RefStrings.SERVERSIDE) + public static ServerProxy proxy; + + @Metadata + public static ModMetadata meta; + + //Tool Materials + public static ToolMaterial enumToolMaterialSchrabidium = EnumHelper.addToolMaterial("SCHRABIDIUM", 3, 10000, 50.0F, 20.0F, 200); + + //Armor Materials + public static ArmorMaterial enumArmorMaterialEmerald = EnumHelper.addArmorMaterial("TEST", 2500, new int[] {3, 8, 6, 3}, 30); + public static ArmorMaterial enumArmorMaterialSchrabidium = EnumHelper.addArmorMaterial("SCHRABIDIUM", 100, new int[] {3, 8, 6, 3}, 50); + public static ArmorMaterial enumArmorMaterialEuphemium = EnumHelper.addArmorMaterial("EUPHEMIUM", 2147483647, new int[] {3, 8, 6, 3}, 100); + public static ArmorMaterial enumArmorMaterialHazmat = EnumHelper.addArmorMaterial("HAZMAT", 60, new int[] {2, 5, 4, 1}, 5); + public static ArmorMaterial enumArmorMaterialT45 = EnumHelper.addArmorMaterial("T45", 1000, new int[] {2, 5, 4, 1}, 0); + + //Creative Tabs + public static CreativeTabs tabTest = new TestTab(CreativeTabs.getNextID(), "tabTest"); + public static CreativeTabs tabParts = new PartsTab(CreativeTabs.getNextID(), "tabParts"); + public static CreativeTabs tabBlock = new BlockTab(CreativeTabs.getNextID(), "tabBlocks"); + public static CreativeTabs tabNuke = new NukeTab(CreativeTabs.getNextID(), "tabNuke"); + + public static boolean enableDebugMode = true; + + @EventHandler + public void PreLoad(FMLPreInitializationEvent PreEvent) + { + ModBlocks.mainRegistry(); + ModItems.mainRegistry(); + CraftingManager.mainRegistry(); + proxy.registerRenderInfo(); + HbmWorld.mainRegistry(); + + enumArmorMaterialSchrabidium.customCraftingMaterial = ModItems.ingot_schrabidium; + enumArmorMaterialT45.customCraftingMaterial = ModItems.plate_titanium; + + NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GUIHandler()); + GameRegistry.registerTileEntity(TileEntityTestBombAdvanced.class, "tilentity_testbombadvanced"); + GameRegistry.registerTileEntity(TileEntityDiFurnace.class, "tilentity_diFurnace"); + GameRegistry.registerTileEntity(TileEntityTestNuke.class, "tilentity_testnuke"); + GameRegistry.registerTileEntity(TileEntityRotationTester.class, "tilentity_rotationtester"); + GameRegistry.registerTileEntity(TileEntityTestRender.class, "tilentity_testrenderer"); + GameRegistry.registerTileEntity(TileEntityTestContainer.class, "tilentity_testcontainer"); + GameRegistry.registerTileEntity(TileEntityObjTester.class, "tilentity_objtester"); + GameRegistry.registerTileEntity(TileEntityNukeGadget.class, "tilentity_nukegadget"); + GameRegistry.registerTileEntity(TileEntityNukeBoy.class, "tilentity_nukeboy"); + GameRegistry.registerTileEntity(TileEntityMachineCentrifuge.class, "tileentity_centrifuge"); + GameRegistry.registerTileEntity(TileEntityNukeMan.class, "tileentity_nukeman"); + GameRegistry.registerTileEntity(TileEntityMachineUF6Tank.class, "tileentity_uf6_tank"); + GameRegistry.registerTileEntity(TileEntityMachinePuF6Tank.class, "tileentity_puf6_tank"); + GameRegistry.registerTileEntity(TileEntityMachineReactor.class, "tileentity_reactor"); + GameRegistry.registerTileEntity(TileEntityBombMulti.class, "tileentity_bombmulti"); + GameRegistry.registerTileEntity(TileEntityNukeTsar.class, "tileentity_nuketsar"); + GameRegistry.registerTileEntity(TileEntityNukeFurnace.class, "tileentity_nukefurnace"); + GameRegistry.registerTileEntity(TileEntityRtgFurnace.class, "tileentity_rtgfurnace"); + GameRegistry.registerTileEntity(TileEntityMachineGenerator.class, "tileentity_generator"); + GameRegistry.registerTileEntity(TileEntityMachineElectricFurnace.class, "tileentity_electric_furnace"); + GameRegistry.registerTileEntity(TileEntityNukeFleija.class, "tileentity_nukefleija"); + GameRegistry.registerTileEntity(TileEntityDecoTapeRecorder.class, "tileentity_taperecorder"); + GameRegistry.registerTileEntity(TileEntityDecoSteelPoles.class, "tileentity_steelpoles"); + GameRegistry.registerTileEntity(TileEntityDecoPoleTop.class, "tileentity_poletop"); + GameRegistry.registerTileEntity(TileEntityDecoPoleSatelliteReceiver.class, "tileentity_satellitereceicer"); + GameRegistry.registerTileEntity(TileEntityMachineDeuterium.class, "tileentity_deuterium"); + GameRegistry.registerTileEntity(TileEntityWireCoated.class, "tileentity_wirecoated"); + GameRegistry.registerTileEntity(TileEntityMachineBattery.class, "tileentity_battery"); + GameRegistry.registerTileEntity(TileEntityMachineCoal.class, "tileentity_coal"); + GameRegistry.registerTileEntity(TileEntityNukePrototype.class, "tileentity_nukeproto"); + GameRegistry.registerTileEntity(TileEntityRedBarrel.class, "tileentity_barrel"); + GameRegistry.registerTileEntity(TileEntityYellowBarrel.class, "tileentity_nukebarrel"); + GameRegistry.registerTileEntity(TileEntityLaunchPad.class, "tileentity_launch1"); + GameRegistry.registerTileEntity(TileEntityDecoBlock.class, "tileentity_deco"); + + EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); + EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); + EntityRegistry.registerModEntity(EntityNukeExplosionAdvanced.class, "entity_nuke_explosion_advanced", 2, this, 250, 1, true); + EntityRegistry.registerModEntity(EntityGrenadeGeneric.class, "entity_grenade_generic", 3, this, 250, 1, true); + EntityRegistry.registerModEntity(EntityGrenadeStrong.class, "entity_grenade_strong", 4, this, 250, 1, true); + EntityRegistry.registerModEntity(EntityGrenadeFrag.class, "entity_grenade_frag", 5, this, 250, 1, true); + EntityRegistry.registerModEntity(EntityGrenadeFire.class, "entity_grenade_fire", 6, this, 250, 1, true); + EntityRegistry.registerModEntity(EntityGrenadeCluster.class, "entity_grenade_cluster", 7, this, 250, 1, true); + EntityRegistry.registerModEntity(EntityTestMissile.class, "entity_test_missile", 8, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityNukeCloudSmall.class, "entity_nuke_cloud_small", 9, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityBullet.class, "entity_bullet", 10, this, 250, 1, true); + EntityRegistry.registerModEntity(EntityGrenadeFlare.class, "entity_grenade_flare", 11, this, 500, 1, true); + EntityRegistry.registerModEntity(EntityGrenadeElectric.class, "entity_grenade_electric", 12, this, 500, 1, true); + EntityRegistry.registerModEntity(EntityGrenadePoison.class, "entity_grenade_poison", 13, this, 500, 1, true); + EntityRegistry.registerModEntity(EntityGrenadeGas.class, "entity_grenade_gas", 14, this, 500, 1, true); + EntityRegistry.registerModEntity(EntityGrenadeSchrabidium.class, "entity_grenade_schrab", 15, this, 500, 1, true); + EntityRegistry.registerModEntity(EntityGrenadeNuke.class, "entity_grenade_nuke", 16, this, 500, 1, true); + EntityRegistry.registerModEntity(EntitySchrab.class, "entity_schrabnel", 17, this, 500, 1, true); + EntityRegistry.registerModEntity(EntityMissileGeneric.class, "entity_missile_generic", 18, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileStrong.class, "entity_missile_strong", 19, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileNuclear.class, "entity_missile_nuclear", 20, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileCluster.class, "entity_missile_cluster", 21, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileIncendiary.class, "entity_missile_incendiary", 22, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileAntiBallistic.class, "entity_missile_anti", 23, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileBunkerBuster.class, "entity_missile_buster", 24, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileIncendiaryStrong.class, "entity_missile_incendiary_strong", 25, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileClusterStrong.class, "entity_missile_cluster_strong", 26, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileBusterStrong.class, "entity_missile_buster_strong", 27, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileBurst.class, "entity_missile_burst", 28, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileInferno.class, "entity_missile_inferno", 29, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileRain.class, "entity_missile_rain", 30, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileDrill.class, "entity_missile_drill", 31, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileEndo.class, "entity_missile_endo", 32, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileExo.class, "entity_missile_exo", 33, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMissileMirv.class, "entity_missile_mirv", 34, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityMirv.class, "entity_mirvlet", 35, this, 1000, 1, true); + + EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00); + } + + @EventHandler + public static void load(FMLInitializationEvent event) + { + OreDictionary.registerOre("ingotUranium", ModItems.ingot_uranium); + OreDictionary.registerOre("ingotPlutonium", ModItems.ingot_pu239); + OreDictionary.registerOre("ingotTitanium", ModItems.ingot_titanium); + OreDictionary.registerOre("dustSulfur", ModItems.sulfur); + OreDictionary.registerOre("dustNiter", ModItems.niter); + OreDictionary.registerOre("dustLead", ModItems.powder_lead); + OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium); + OreDictionary.registerOre("ingotCopper", ModItems.ingot_copper); + OreDictionary.registerOre("ingotRedAlloy", ModItems.ingot_red_copper); + OreDictionary.registerOre("ingotTungsten", ModItems.ingot_tungsten); + OreDictionary.registerOre("ingotAluminum", ModItems.ingot_aluminium); + OreDictionary.registerOre("ingotNeptunium", ModItems.ingot_neptunium); + OreDictionary.registerOre("ingotLead", ModItems.ingot_lead); + OreDictionary.registerOre("dustFluorite", ModItems.fluorite); + OreDictionary.registerOre("nuggetUranium", ModItems.nugget_uranium); + OreDictionary.registerOre("nuggetUranium235", ModItems.nugget_u235); + OreDictionary.registerOre("nuggetUranium238", ModItems.nugget_u238); + OreDictionary.registerOre("nuggetPlutonium", ModItems.nugget_plutonium); + OreDictionary.registerOre("nuggetPlutonium238", ModItems.nugget_pu238); + OreDictionary.registerOre("nuggetPlutonium239", ModItems.nugget_pu239); + OreDictionary.registerOre("nuggetPlutonium240", ModItems.nugget_pu240); + OreDictionary.registerOre("nuggetNeptunium", ModItems.nugget_neptunium); + OreDictionary.registerOre("plateTitanium", ModItems.plate_titanium); + OreDictionary.registerOre("plateAluminum", ModItems.plate_aluminium); + OreDictionary.registerOre("plateDenseLead", ModItems.neutron_reflector); + OreDictionary.registerOre("ingotSteel", ModItems.ingot_steel); + OreDictionary.registerOre("plateSteel", ModItems.plate_steel); + OreDictionary.registerOre("plateLead", ModItems.plate_lead); + OreDictionary.registerOre("plateCopper", ModItems.plate_copper); + + OreDictionary.registerOre("oreUranium", ModBlocks.ore_uranium); + OreDictionary.registerOre("oreTitanium", ModBlocks.ore_titanium); + OreDictionary.registerOre("oreSulfur", ModBlocks.ore_sulfur); + OreDictionary.registerOre("oreNiter", ModBlocks.ore_niter); + OreDictionary.registerOre("oreCopper", ModBlocks.ore_copper); + OreDictionary.registerOre("oreTungsten", ModBlocks.ore_tungsten); + OreDictionary.registerOre("oreAluminum", ModBlocks.ore_aluminium); + OreDictionary.registerOre("oreFluorite", ModBlocks.ore_fluorite); + OreDictionary.registerOre("oreLead", ModBlocks.ore_lead); + + /*achievementGetTitanium = new Achievement("achievement.getTitanium", "getTitanium", 0, -8, ModItems.ingot_titanium, (Achievement)null).initIndependentStat().registerStat(); + + AchievementPage.registerAchievementPage(new AchievementPage("Nuclear Tech", new Achievement[] { + achievementGetTitanium + }));*/ + } + + @EventHandler + public static void PostLoad(FMLPostInitializationEvent PostEvent) + { + + } + + @EventHandler + public void preinit(FMLPreInitializationEvent event) + { + FMLCommonHandler.instance().bus().register(new ModEventHandler()); + MinecraftForge.EVENT_BUS.register(new ModEventHandler()); + MinecraftForge.TERRAIN_GEN_BUS.register(new ModEventHandler()); + MinecraftForge.ORE_GEN_BUS.register(new ModEventHandler()); + } +} diff --git a/com/hbm/main/ModEventHandler.java b/com/hbm/main/ModEventHandler.java new file mode 100644 index 000000000..a4618539f --- /dev/null +++ b/com/hbm/main/ModEventHandler.java @@ -0,0 +1,20 @@ +package com.hbm.main; + +import com.hbm.items.ModItems; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; + +public class ModEventHandler +{ + // Achievements + /*@SubscribeEvent + public void whenTitaniumSmeleted(PlayerEvent.ItemSmeltedEvent e) + { + if (e.smelting.getItem().equals(ModItems.ingot_titanium)) + { + e.player.addStat(MainRegistry.achievementGetTitanium, 1); + } + }*/ + +} diff --git a/com/hbm/main/ServerProxy.java b/com/hbm/main/ServerProxy.java new file mode 100644 index 000000000..ab6e64a7f --- /dev/null +++ b/com/hbm/main/ServerProxy.java @@ -0,0 +1,13 @@ +package com.hbm.main; + +public class ServerProxy +{ + public void registerRenderInfo() + { + + } + + public void registerTileEntitySpecialRenderer() { + + } +} \ No newline at end of file diff --git a/com/hbm/particles/NukeCloudFX.java b/com/hbm/particles/NukeCloudFX.java new file mode 100644 index 000000000..30d2de093 --- /dev/null +++ b/com/hbm/particles/NukeCloudFX.java @@ -0,0 +1,53 @@ +package com.hbm.particles; + +import net.minecraft.client.particle.EntityFX; +import net.minecraft.client.particle.EntitySmokeFX; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.World; + +public class NukeCloudFX extends EntitySmokeFX { + + public NukeCloudFX(World world, double x, double y, double z, double moX, double moY, double moZ) { + super(world, x, y, z, moX, moY, moZ, 1.0F); + this.particleMaxAge *= 3; + } + + public NukeCloudFX(World world, double x, double y, double z, double moX, double moY, double moZ, float scale) { + super(world, x, y, z, moX, moY, moZ, scale); + this.particleMaxAge *= 3; + } + + @Override + public void onUpdate() + { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + if (this.particleAge++ >= this.particleMaxAge) + { + this.setDead(); + } + + this.setParticleTextureIndex(7 - this.particleAge * 8 / this.particleMaxAge); + //this.motionY += 0.004D; + //this.moveEntity(/*this.motionX, this.motionY, this.motionZ*/1, 1, 1); + + /*if (this.posY == this.prevPosY) + { + this.motionX *= 1.1D; + this.motionZ *= 1.1D; + } + + this.motionX *= 0.9599999785423279D; + this.motionY *= 0.9599999785423279D; + this.motionZ *= 0.9599999785423279D; + + if (this.onGround) + { + this.motionX *= 0.699999988079071D; + this.motionZ *= 0.699999988079071D; + }*/ + } + +} diff --git a/com/hbm/particles/NukeSmokeFX.java b/com/hbm/particles/NukeSmokeFX.java new file mode 100644 index 000000000..d0e7cc615 --- /dev/null +++ b/com/hbm/particles/NukeSmokeFX.java @@ -0,0 +1,120 @@ +package com.hbm.particles; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.particle.EffectRenderer; +import net.minecraft.client.particle.EntityFX; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + + +public class NukeSmokeFX extends EntityFX{ + + double gravity, friction, r_e, g_e, b_e, opacity_e; + + private static final ResourceLocation texture1 = new ResourceLocation(RefStrings.MODID + ":/textures/particle/shockwave.png"); + + public NukeSmokeFX(World w, double xp, double yp, double zp, double xs, double ys, double zs, int siz, int lengt,double gravit, double Ra,double Ga,double Ba,double opacita,double frictio){ +// delete double Ra,double Ga,double Ba, and set r_e,g_e,b_e to 1 if you want to have a multicolored texture + super(w, xp, yp, zp, xs, ys, zs); + this.motionX =xs; + this.motionY =ys; + this.motionZ =zs; + this.friction=frictio; + this.particleMaxAge=lengt; + this.particleScale=siz/10; + this.gravity=gravit*0.001; + this.r_e=/*Ra*/1; + this.g_e=/*Ga*/1; + this.b_e=/*Ba*/1; + this.opacity_e=opacita; + } + public NukeSmokeFX(World w, double xp, double yp, double zp, double xs, double ys, double zs, int siz, int lengt){ +// use this if you want to use less customization + super(w, xp, yp, zp, xs, ys, zs); + this.motionX = xs; + this.motionY = ys; + this.motionZ = zs; + this.particleMaxAge = lengt; + this.particleScale = siz / 10; + + this.friction = 0.98; + this.gravity = 0; + this.r_e = 1; + this.g_e = 1; + this.b_e = 1; + this.opacity_e = 1; + } + + public NukeSmokeFX(World w, double xp, double yp, double zp){ + super(w, xp, yp, zp); + } + + public void renderParticle(Tessellator tess, float par2, float par3, float par4, float par5, float par6, float par7){ + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDepthMask(false); + GL11.glEnable(GL11.GL_BLEND); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.5F); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + float PScale = 0.01F*this.particleScale; + float x=(float)(this.prevPosX+(this.posX-this.prevPosX)*par2-interpPosX); + float y=(float)(this.prevPosY+(this.posY-this.prevPosY)*par2-interpPosY); + float z=(float)(this.prevPosZ+(this.posZ-this.prevPosZ)*par2-interpPosZ); + Minecraft.getMinecraft().renderEngine.bindTexture(texture1); + tess.startDrawingQuads(); + tess.setColorRGBA_F((float)this.r_e, (float)this.g_e, (float)this.b_e, (float)this.opacity_e); + tess.setBrightness(/*240*/500); + tess.addVertexWithUV((double)(x-par3*PScale-par6*PScale), (double)(y-par4*PScale), (double)(z-par5*PScale-par7*PScale), 0, 0); + tess.addVertexWithUV((double)(x-par3*PScale+par6*PScale), (double)(y+par4*PScale), (double)(z-par5*PScale+par7*PScale), 1, 0); + tess.addVertexWithUV((double)(x+par3*PScale+par6*PScale), (double)(y+par4*PScale), (double)(z+par5*PScale+par7*PScale), 1, 1); + tess.addVertexWithUV((double)(x+par3*PScale-par6*PScale), (double)(y-par4*PScale), (double)(z+par5*PScale-par7*PScale), 0, 1); + tess.draw(); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthMask(true); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.0F); + GL11.glEnable(GL11.GL_LIGHTING); + } + + public int getFXLayer(){return 3;} + + public void onUpdate(){ + if(particleAge>particleMaxAge)this.setDead(); + if(Minecraft.getMinecraft().gameSettings.particleSetting==2)this.setDead(); + + if(worldObj.isRemote)this.motionHandeler(); + + //this.particleScale-=(float)particleMaxAge/10.0; + this.particleScale += (float)particleMaxAge/2.5; + + if(this.isDead){ + + + + } + + + this.particleAge++; + } + + public void motionHandeler(){ + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + //this.motionX*=friction; + //this.motionY*=friction; + //this.motionZ*=friction; + + + + + + //this.motionY +=this.gravity; + //this.moveEntity(this.motionX, this.motionY, this.motionZ); + + } + +} \ No newline at end of file diff --git a/com/hbm/render/ItemRenderBigSword.java b/com/hbm/render/ItemRenderBigSword.java new file mode 100644 index 000000000..9300e2db6 --- /dev/null +++ b/com/hbm/render/ItemRenderBigSword.java @@ -0,0 +1,54 @@ +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; + +public class ItemRenderBigSword implements IItemRenderer { + + protected ModelBigSword bigSwordModel; + + public ItemRenderBigSword() { + bigSwordModel = new ModelBigSword(); + } + + @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: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelBigSwordTexture.png")); + GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(0.0F, 0.4F, -0.7F); + bigSwordModel.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/ItemRenderDecoBlock.java b/com/hbm/render/ItemRenderDecoBlock.java new file mode 100644 index 000000000..973922f5b --- /dev/null +++ b/com/hbm/render/ItemRenderDecoBlock.java @@ -0,0 +1,117 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.item.Item; +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 ItemRenderDecoBlock implements IItemRenderer { + + protected ModelSteelWall wall; + protected ModelSteelCorner corner; + protected ModelSteelRoof roof; + protected ModelSteelBeam beam; + protected ModelSteelScaffold scaffold; + + public ItemRenderDecoBlock() { + wall = new ModelSteelWall(); + corner = new ModelSteelCorner(); + roof = new ModelSteelRoof(); + beam = new ModelSteelBeam(); + scaffold = new ModelSteelScaffold(); + } + + @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) { + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_wall)) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/SteelWall.png")); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_corner)) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/SteelCorner.png")); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_roof)) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/SteelRoof.png")); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_beam)) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/SteelBeam.png")); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_scaffold)) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/SteelScaffold.png")); + + switch(type) { + case ENTITY: + GL11.glPushMatrix(); + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(0.0F, -1.0F, 0.0F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_wall)) + wall.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_corner)) + corner.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_roof)) + roof.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_beam)) + beam.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_scaffold)) + scaffold.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + break; + case EQUIPPED: + GL11.glPushMatrix(); + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glTranslatef(0.8F, -0.3F, 0.2F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_wall)) + wall.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_corner)) + corner.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_roof)) + roof.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_beam)) + beam.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_scaffold)) + scaffold.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + break; + case EQUIPPED_FIRST_PERSON: + GL11.glPushMatrix(); + GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-0.6F, -0.6F, -0.1F); + GL11.glScalef(0.5F, 0.5F, 0.5F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_wall)) + wall.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_corner)) + corner.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_roof)) + roof.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_beam)) + beam.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_scaffold)) + scaffold.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + break; + default: break; + } + } + +} diff --git a/com/hbm/render/ItemRenderNukeGadget.java b/com/hbm/render/ItemRenderNukeGadget.java new file mode 100644 index 000000000..9aa629987 --- /dev/null +++ b/com/hbm/render/ItemRenderNukeGadget.java @@ -0,0 +1,65 @@ +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; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class ItemRenderNukeGadget implements IItemRenderer { + + private IModelCustom gadgetModel; + private ResourceLocation gadgetTexture; + float f = -1; + + public ItemRenderNukeGadget() { + gadgetModel = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/TheGadget3.obj")); + gadgetTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); + } + + @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) { + f += 0.1F; + if(f > 1.0F) + f = -1.0F; + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(gadgetTexture); + //GL11.glRotatef(0.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(15.0F, 0.0F, 0.0F, -1.0F); + GL11.glTranslatef(0.8F, 0.2F, 0.5F); + GL11.glScalef(0.25F, 0.25F, 0.25F); + gadgetModel.renderAll(); + GL11.glPopMatrix(); + default: break; + } + } + +} diff --git a/com/hbm/render/ItemRenderPoleTop.java b/com/hbm/render/ItemRenderPoleTop.java new file mode 100644 index 000000000..cf3bce267 --- /dev/null +++ b/com/hbm/render/ItemRenderPoleTop.java @@ -0,0 +1,73 @@ +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 ItemRenderPoleTop implements IItemRenderer { + + protected ModelPoleTop swordModel; + + public ItemRenderPoleTop() { + swordModel = new ModelPoleTop(); + } + + @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 ENTITY: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/PoleTop.png")); + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(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: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/PoleTop.png")); + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(0.8F, -1.8F, -0.1F); + swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + break; + case EQUIPPED_FIRST_PERSON: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/PoleTop.png")); + GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-0.6F, -0.6F, -0.1F); + GL11.glScalef(0.5F, 0.5F, 0.5F); + swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + break; + default: break; + } + } + +} diff --git a/com/hbm/render/ItemRenderRedstoneSword.java b/com/hbm/render/ItemRenderRedstoneSword.java new file mode 100644 index 000000000..54a9f5650 --- /dev/null +++ b/com/hbm/render/ItemRenderRedstoneSword.java @@ -0,0 +1,53 @@ +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; + +public class ItemRenderRedstoneSword implements IItemRenderer { + + protected ModelSword swordModel; + + public ItemRenderRedstoneSword() { + swordModel = new ModelSword(); + } + + @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: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelSwordRedstone.png")); + GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-0.8F, 0.4F, -0.1F); + 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/ItemRenderRevolver.java b/com/hbm/render/ItemRenderRevolver.java new file mode 100644 index 000000000..bf39a092c --- /dev/null +++ b/com/hbm/render/ItemRenderRevolver.java @@ -0,0 +1,67 @@ +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 ItemRenderRevolver implements IItemRenderer { + + protected ModelRevolver swordModel; + + public ItemRenderRevolver() { + 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); + 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); + 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/ItemRenderRevolverCursed.java b/com/hbm/render/ItemRenderRevolverCursed.java new file mode 100644 index 000000000..6467cca6a --- /dev/null +++ b/com/hbm/render/ItemRenderRevolverCursed.java @@ -0,0 +1,67 @@ +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 ItemRenderRevolverCursed implements IItemRenderer { + + protected ModelGun swordModel; + + public ItemRenderRevolverCursed() { + swordModel = new ModelGun(); + } + + @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/ModelGun.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); + 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/ModelGun.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); + 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/ItemRenderRevolverGold.java b/com/hbm/render/ItemRenderRevolverGold.java new file mode 100644 index 000000000..6a83cb29e --- /dev/null +++ b/com/hbm/render/ItemRenderRevolverGold.java @@ -0,0 +1,67 @@ +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 ItemRenderRevolverGold implements IItemRenderer { + + protected ModelRevolver swordModel; + + public ItemRenderRevolverGold() { + 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/ModelRevolverGold.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); + 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/ModelRevolverGold.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); + 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/ItemRenderRevolverIron.java b/com/hbm/render/ItemRenderRevolverIron.java new file mode 100644 index 000000000..81c30de4b --- /dev/null +++ b/com/hbm/render/ItemRenderRevolverIron.java @@ -0,0 +1,67 @@ +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 ItemRenderRevolverIron implements IItemRenderer { + + protected ModelRevolver swordModel; + + public ItemRenderRevolverIron() { + 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/ModelRevolverIron.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); + 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/ModelRevolverIron.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); + 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/ItemRenderRevolverSchrabidium.java b/com/hbm/render/ItemRenderRevolverSchrabidium.java new file mode 100644 index 000000000..f3dda9d79 --- /dev/null +++ b/com/hbm/render/ItemRenderRevolverSchrabidium.java @@ -0,0 +1,67 @@ +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 ItemRenderRevolverSchrabidium implements IItemRenderer { + + protected ModelRevolver swordModel; + + public ItemRenderRevolverSchrabidium() { + 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/ModelRevolverSchrabidium.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); + 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/ModelRevolverSchrabidium.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); + 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/ItemRenderRocket.java b/com/hbm/render/ItemRenderRocket.java new file mode 100644 index 000000000..dc5194324 --- /dev/null +++ b/com/hbm/render/ItemRenderRocket.java @@ -0,0 +1,65 @@ +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 ItemRenderRocket implements IItemRenderer { + + protected ModelRocket swordModel; + + public ItemRenderRocket() { + swordModel = new ModelRocket(); + } + + @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/ModelRocket.png")); + GL11.glRotatef(-45.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(0.0F, 0.6F, -0.5F); + 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/ModelRocket.png")); + GL11.glRotatef(-110.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(75.0F, 0.0F, 2.0F, 0.0F); + GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(0.0F, 0.5F, 0.0F); + GL11.glScalef(2.0F, 2.0F, 2.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/ItemRenderRpg.java b/com/hbm/render/ItemRenderRpg.java new file mode 100644 index 000000000..d55afd377 --- /dev/null +++ b/com/hbm/render/ItemRenderRpg.java @@ -0,0 +1,66 @@ +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 ItemRenderRpg implements IItemRenderer { + + protected ModelRPG swordModel; + + public ItemRenderRpg() { + swordModel = new ModelRPG(); + } + + @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/ModelRPG.png")); + GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-1.0F, 0.0F, -0.2F); + GL11.glScalef(2.0F, 2.0F, 2.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/ModelRPG.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); + 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/ItemRenderSatelliteReceiver.java b/com/hbm/render/ItemRenderSatelliteReceiver.java new file mode 100644 index 000000000..f59757b96 --- /dev/null +++ b/com/hbm/render/ItemRenderSatelliteReceiver.java @@ -0,0 +1,74 @@ +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 ItemRenderSatelliteReceiver implements IItemRenderer { + + protected ModelSatelliteReceiver swordModel; + + public ItemRenderSatelliteReceiver() { + swordModel = new ModelSatelliteReceiver(); + } + + @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 ENTITY: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/PoleSatelliteReceiver.png")); + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(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: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/PoleSatelliteReceiver.png")); + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glTranslatef(0.8F, -0.3F, 0.2F); + GL11.glRotatef(90.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_FIRST_PERSON: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/PoleSatelliteReceiver.png")); + GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-0.6F, -0.6F, -0.1F); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.5F, 0.5F, 0.5F); + swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + break; + default: break; + } + } + +} diff --git a/com/hbm/render/ItemRenderSteelPoles.java b/com/hbm/render/ItemRenderSteelPoles.java new file mode 100644 index 000000000..aca9b3c34 --- /dev/null +++ b/com/hbm/render/ItemRenderSteelPoles.java @@ -0,0 +1,75 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityDecoSteelPoles; +import com.hbm.blocks.TileEntityTestBombAdvanced; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +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 ItemRenderSteelPoles implements IItemRenderer { + + protected ModelPoles swordModel; + + public ItemRenderSteelPoles() { + swordModel = new ModelPoles(); + } + + @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 ENTITY: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/Poles.png")); + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(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: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/Poles.png")); + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glTranslatef(0.8F, -0.3F, 0.2F); + swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + break; + case EQUIPPED_FIRST_PERSON: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/Poles.png")); + GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-0.6F, -0.6F, -0.1F); + GL11.glScalef(0.5F, 0.5F, 0.5F); + swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + break; + default: break; + } + } + +} diff --git a/com/hbm/render/ItemRenderTapeRecorder.java b/com/hbm/render/ItemRenderTapeRecorder.java new file mode 100644 index 000000000..4210231af --- /dev/null +++ b/com/hbm/render/ItemRenderTapeRecorder.java @@ -0,0 +1,74 @@ +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 ItemRenderTapeRecorder implements IItemRenderer { + + protected ModelTapeRecorder swordModel; + + public ItemRenderTapeRecorder() { + swordModel = new ModelTapeRecorder(); + } + + @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 ENTITY: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelTapeRecorder.png")); + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(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: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelTapeRecorder.png")); + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glTranslatef(0.8F, 1.7F, 0.2F); + GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(90.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_FIRST_PERSON: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelTapeRecorder.png")); + GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-0.6F, -0.6F, -0.1F); + GL11.glScalef(0.5F, 0.5F, 0.5F); + swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + break; + default: break; + } + } + +} diff --git a/com/hbm/render/ItemRenderTestBombAdvanced.java b/com/hbm/render/ItemRenderTestBombAdvanced.java new file mode 100644 index 000000000..abae60765 --- /dev/null +++ b/com/hbm/render/ItemRenderTestBombAdvanced.java @@ -0,0 +1,73 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityTestBombAdvanced; +import com.hbm.blocks.TileEntityTestContainer; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelChest; +import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.IItemRenderer; + +public class ItemRenderTestBombAdvanced implements IItemRenderer { + + private ModelTestBombAdvanced bombModel; + + public ItemRenderTestBombAdvanced() { + bombModel = new ModelTestBombAdvanced(); + } + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + case INVENTORY: + return true; + default: return false; + } + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, + ItemRendererHelper helper) { + return true; + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + //TileEntityRendererDispatcher.instance.renderTileEntityAt(new TileEntityTestBombAdvanced(), 0.0D, 0.0D, 0.0D, 0.0F); + + switch(type) { + case INVENTORY: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/NukeTestBomb.png")); + GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.65F, 0.65F, 0.65F); + GL11.glTranslatef(0.0F, -0.75F, 0.0F); + //bombModel.render((Entity)data[0], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + TileEntityRendererDispatcher.instance.renderTileEntityAt(new TileEntityTestBombAdvanced(), 0.0D, 0.0D, 0.0D, 0.0F); + GL11.glPopMatrix(); + break; + case EQUIPPED: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/NukeTestBomb.png")); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-1.5F, 0.0F, 0.0F); + //bombModel.render((Entity)data[0], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + TileEntityRendererDispatcher.instance.renderTileEntityAt(new TileEntityTestBombAdvanced(), 0.0D, 0.0D, 0.0D, 0.0F); + GL11.glPopMatrix(); + break; + case EQUIPPED_FIRST_PERSON: + case ENTITY: + TileEntityRendererDispatcher.instance.renderTileEntityAt(new TileEntityTestBombAdvanced(), 0.0D, 0.0D, 0.0D, 0.0F); + default: break; + } + } +} diff --git a/com/hbm/render/ItemRenderTestContainer.java b/com/hbm/render/ItemRenderTestContainer.java new file mode 100644 index 000000000..bbee3ea46 --- /dev/null +++ b/com/hbm/render/ItemRenderTestContainer.java @@ -0,0 +1,30 @@ +package com.hbm.render; + +import com.hbm.blocks.TileEntityTestContainer; + +import net.minecraft.client.model.ModelChest; +import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.IItemRenderer; + +public class ItemRenderTestContainer implements IItemRenderer { + + private ModelChest chestModel; + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + return true; + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, + ItemRendererHelper helper) { + return true; + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + TileEntityRendererDispatcher.instance.renderTileEntityAt(new TileEntityTestContainer(), 0.0D, 0.0D, 0.0D, 0.0F); + } + +} diff --git a/com/hbm/render/ModelBigSword.java b/com/hbm/render/ModelBigSword.java new file mode 100644 index 000000000..22e0d0df5 --- /dev/null +++ b/com/hbm/render/ModelBigSword.java @@ -0,0 +1,95 @@ +// Date: 19.05.2015 21:27:25 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelBigSword extends ModelBase +{ + //fields + ModelRenderer HandleBottom; + ModelRenderer HandleGrip; + ModelRenderer Handle1; + ModelRenderer Handle2; + ModelRenderer Blade; + ModelRenderer SBladeTip; + + public ModelBigSword() + { + textureWidth = 128; + textureHeight = 32; + + HandleBottom = new ModelRenderer(this, 1, 1); + HandleBottom.addBox(0F, 0F, 0F, 1, 3, 3); + HandleBottom.setRotationPoint(0F, 0F, 0F); + HandleBottom.setTextureSize(64, 32); + HandleBottom.mirror = true; + setRotation(HandleBottom, -0.7853982F, 0F, 0F); + HandleGrip = new ModelRenderer(this, 17, 1); + HandleGrip.addBox(0F, 0F, 0F, 1, 5, 2); + HandleGrip.setRotationPoint(0F, -4F, -1F); + HandleGrip.setTextureSize(64, 32); + HandleGrip.mirror = true; + setRotation(HandleGrip, 0F, 0F, 0F); + Handle1 = new ModelRenderer(this, 25, 1); + Handle1.addBox(0F, -1F, 0F, 2, 1, 4); + Handle1.setRotationPoint(-0.5F, -3F, 0F); + Handle1.setTextureSize(64, 32); + Handle1.mirror = true; + setRotation(Handle1, 0.2617994F, 0F, 0F); + Handle2 = new ModelRenderer(this, 41, 1); + Handle2.addBox(0F, -1F, -4F, 2, 1, 4); + Handle2.setRotationPoint(-0.5F, -3F, 0F); + Handle2.setTextureSize(64, 32); + Handle2.mirror = true; + setRotation(Handle2, -0.2617994F, 0F, 0F); + Blade = new ModelRenderer(this, 57, 1); + Blade.addBox(0F, 0F, 0F, 3, 18, 1); + Blade.setRotationPoint(0F, -22F, 1.5F); + Blade.setTextureSize(64, 32); + Blade.mirror = true; + setRotation(Blade, 0F, 1.570796F, 0F); + SBladeTip = new ModelRenderer(this, 2, 10); + SBladeTip.addBox(0F, 0F, 0F, 1, 2, 2); + SBladeTip.setRotationPoint(0F, -23.5F, 0F); + SBladeTip.setTextureSize(64, 32); + SBladeTip.mirror = true; + setRotation(SBladeTip, -0.7853982F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + HandleBottom.render(f5); + HandleGrip.render(f5); + Handle1.render(f5); + Handle2.render(f5); + Blade.render(f5); + SBladeTip.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelGasMask.java b/com/hbm/render/ModelGasMask.java new file mode 100644 index 000000000..be199d1d1 --- /dev/null +++ b/com/hbm/render/ModelGasMask.java @@ -0,0 +1,106 @@ +// Date: 23.12.2015 23:32:22 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelGasMask extends ModelBiped +{ + //fields + ModelRenderer mask; + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + + public ModelGasMask() + { + textureWidth = 64; + textureHeight = 32; + + mask = new ModelRenderer(this, 0, 0); + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 8, 8, 3); + Shape1.setRotationPoint(0F - 4, 0F - 8 + 0.0625F / 2, 0F - 4); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 22, 0); + Shape2.addBox(0F, 0F, 0F, 2, 2, 1); + Shape2.setRotationPoint(1F - 4, 3F - 8 + 0.0625F / 2, -0.5333334F - 4); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 22, 0); + Shape3.addBox(0F, 0F, 0F, 2, 2, 1); + Shape3.setRotationPoint(5F - 4, 3F - 8 + 0.0625F / 2, -0.5F - 4); + Shape3.setTextureSize(64, 32); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0F); + Shape4 = new ModelRenderer(this, 0, 11); + Shape4.addBox(0F, 0F, 0F, 2, 2, 2); + Shape4.setRotationPoint(3F - 4, 5F - 8 + 0.0625F / 2, 0F - 4); + Shape4.setTextureSize(64, 32); + Shape4.mirror = true; + setRotation(Shape4, -0.7853982F, 0F, 0F); + Shape5 = new ModelRenderer(this, 0, 15); + Shape5.addBox(0F, 2F, -0.5F, 3, 4, 3); + Shape5.setRotationPoint(2.5F - 4, 5F - 8 + 0.0625F / 2, 0F - 4); + Shape5.setTextureSize(64, 32); + Shape5.mirror = true; + setRotation(Shape5, -0.7853982F, 0F, 0F); + Shape6 = new ModelRenderer(this, 0, 22); + Shape6.addBox(0F, 0F, 0F, 8, 1, 5); + Shape6.setRotationPoint(0F - 4, 3F - 8 + 0.0625F / 2, 3F - 4); + Shape6.setTextureSize(64, 32); + Shape6.mirror = true; + setRotation(Shape6, 0F, 0F, 0F); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + this.mask.rotationPointX = 0.0F; + this.mask.rotationPointY = 0.0F; + this.mask.rotateAngleY = this.bipedHead.rotateAngleY; + this.mask.rotateAngleX = this.bipedHead.rotateAngleX; + } + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) + { + setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + GL11.glPushMatrix(); + GL11.glScalef(1.125F, 1.125F, 1.125F); + this.mask.addChild(Shape1); + this.mask.addChild(Shape2); + this.mask.addChild(Shape3); + this.mask.addChild(Shape4); + this.mask.addChild(Shape5); + this.mask.addChild(Shape6); + this.mask.render(par7); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/ModelGoggles.java b/com/hbm/render/ModelGoggles.java new file mode 100644 index 000000000..6f3ad63ec --- /dev/null +++ b/com/hbm/render/ModelGoggles.java @@ -0,0 +1,108 @@ +// Date: 14.09.2015 19:47:47 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelGoggles extends ModelBiped +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape5; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer google; + + public ModelGoggles() + { + textureWidth = 64; + textureHeight = 32; + + google = new ModelRenderer(this, 0, 0); + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 9, 3, 1); + Shape1.setRotationPoint(-4.5F, -3F - 2, -4.5F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 0, 4); + Shape2.addBox(0F, 0F, 0F, 9, 2, 5); + Shape2.setRotationPoint(-4.5F, -3F - 2, -3.5F); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape5 = new ModelRenderer(this, 26, 0); + Shape5.addBox(0F, 0F, 0F, 2, 2, 1); + Shape5.setRotationPoint(1F, -2.5F - 2, -5F); + Shape5.setTextureSize(64, 32); + Shape5.mirror = true; + setRotation(Shape5, 0F, 0F, 0F); + Shape6 = new ModelRenderer(this, 20, 0); + Shape6.addBox(0F, 0F, 0F, 2, 2, 1); + Shape6.setRotationPoint(-3F, -2.5F - 2, -5F); + Shape6.setTextureSize(64, 32); + Shape6.mirror = true; + setRotation(Shape6, 0F, 0F, 0F); + Shape7 = new ModelRenderer(this, 0, 11); + Shape7.addBox(0F, 0F, 0F, 9, 1, 4); + Shape7.setRotationPoint(-4.5F, -3F - 2, 0.5F); + Shape7.setTextureSize(64, 32); + Shape7.mirror = true; + setRotation(Shape7, 0F, 0F, 0F); + } + + /*public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + Shape5.render(f5); + Shape6.render(f5); + Shape7.render(f5); + }*/ + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + this.google.rotationPointX = 0.0F; + this.google.rotationPointY = 0.0F; + this.google.rotateAngleY = this.bipedHead.rotateAngleY; + this.google.rotateAngleX = this.bipedHead.rotateAngleX; + } + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) + { + setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + GL11.glPushMatrix(); + this.google.addChild(Shape1); + this.google.addChild(Shape2); + this.google.addChild(Shape5); + this.google.addChild(Shape6); + this.google.addChild(Shape7); + this.google.render(par7); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/ModelGun.java b/com/hbm/render/ModelGun.java new file mode 100644 index 000000000..62d7c0568 --- /dev/null +++ b/com/hbm/render/ModelGun.java @@ -0,0 +1,196 @@ +// Date: 19.11.2015 19:24:22 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelGun extends ModelBase +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + ModelRenderer Shape10; + ModelRenderer Shape11; + ModelRenderer Shape12; + ModelRenderer Shape13; + ModelRenderer Shape14; + ModelRenderer Shape15; + ModelRenderer Shape16; + + public ModelGun() + { + textureWidth = 64; + textureHeight = 64; + + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 6, 12, 4); + Shape1.setRotationPoint(0F, -4F, -1F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 52, 0); + Shape2.addBox(0F, 0F, 0F, 3, 3, 3); + Shape2.setRotationPoint(4F, -7F, -0.5F); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 28, 58); + Shape3.addBox(0F, 0F, 0F, 15, 3, 3); + Shape3.setRotationPoint(-15F, -7F, -0.5F); + Shape3.setTextureSize(64, 32); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0F); + Shape4 = new ModelRenderer(this, 0, 61); + Shape4.addBox(0F, 0F, 0F, 1, 2, 1); + Shape4.setRotationPoint(2F, -3F, 0.5F); + Shape4.setTextureSize(64, 32); + Shape4.mirror = true; + setRotation(Shape4, 0F, 0F, 0.715585F); + Shape5 = new ModelRenderer(this, 0, 57); + Shape5.addBox(0F, 0F, 0F, 2, 2, 1); + Shape5.setRotationPoint(-13.5F, -8F, 0.5F); + Shape5.setTextureSize(64, 32); + Shape5.mirror = true; + setRotation(Shape5, 0F, 0F, 0.6108652F); + Shape6 = new ModelRenderer(this, 52, 7); + Shape6.addBox(0F, 0F, 0F, 4, 3, 2); + Shape6.setRotationPoint(0F, -6.5F, 0F); + Shape6.setTextureSize(64, 64); + Shape6.mirror = true; + setRotation(Shape6, 0F, 0F, 0F); + Shape7 = new ModelRenderer(this, 46, 49); + Shape7.addBox(0F, 0F, 0F, 6, 5, 3); + Shape7.setRotationPoint(-15F, -3F, -0.5F); + Shape7.setTextureSize(64, 64); + Shape7.mirror = true; + setRotation(Shape7, 0F, 0F, 0F); + Shape8 = new ModelRenderer(this, 22, 0); + Shape8.addBox(0F, 0F, 0F, 12, 1, 2); + Shape8.setRotationPoint(-15F, -4F, 0F); + Shape8.setTextureSize(64, 64); + Shape8.mirror = true; + setRotation(Shape8, 0F, 0F, 0F); + Shape9 = new ModelRenderer(this, 52, 13); + Shape9.addBox(0F, 0F, 0F, 3, 3, 3); + Shape9.setRotationPoint(-3F, -4F, -0.5F); + Shape9.setTextureSize(64, 64); + Shape9.mirror = true; + setRotation(Shape9, 0F, 0F, 0F); + Shape10 = new ModelRenderer(this, 11, 60); + Shape10.addBox(0F, 0F, 0F, 6, 2, 2); + Shape10.setRotationPoint(-9F, -3F, 0F); + Shape10.setTextureSize(64, 64); + Shape10.mirror = true; + setRotation(Shape10, 0F, 0F, 0F); + Shape11 = new ModelRenderer(this, 35, 50); + Shape11.addBox(0F, 0F, 0F, 2, 4, 3); + Shape11.setRotationPoint(-9F, -1F, -0.5F); + Shape11.setTextureSize(64, 64); + Shape11.mirror = true; + setRotation(Shape11, 0F, 0F, 0F); + Shape12 = new ModelRenderer(this, 12, 57); + Shape12.addBox(0F, 0F, 0F, 7, 1, 1); + Shape12.setRotationPoint(-7F, 2F, 0.5F); + Shape12.setTextureSize(64, 64); + Shape12.mirror = true; + setRotation(Shape12, 0F, 0F, 0F); + Shape13 = new ModelRenderer(this, 0, 51); + Shape13.addBox(0F, 0F, 0F, 4, 1, 4); + Shape13.setRotationPoint(0F, -5F, -1F); + Shape13.setTextureSize(64, 64); + Shape13.mirror = true; + setRotation(Shape13, 0F, 0F, 0F); + Shape14 = new ModelRenderer(this, 0, 43); + Shape14.addBox(0F, 0F, 0F, 3, 5, 2); + Shape14.setRotationPoint(7F, -7F, 0F); + Shape14.setTextureSize(64, 64); + Shape14.mirror = true; + setRotation(Shape14, 0F, 0F, 0.7853982F); + //Shape15.mirror = true; + Shape15 = new ModelRenderer(this, 0, 38); + Shape15.addBox(0F, 0F, 0F, 3, 1, 3); + Shape15.setRotationPoint(-9F, 3F, -0.5F); + Shape15.setTextureSize(64, 64); + Shape15.mirror = true; + setRotation(Shape15, 0F, 0F, -2.792527F); + Shape15.mirror = false; + Shape16 = new ModelRenderer(this, 0, 17); + Shape16.addBox(0F, 0F, 0F, 2, 3, 1); + Shape16.setRotationPoint(-1F, -2F, 0.5F); + Shape16.setTextureSize(64, 64); + Shape16.mirror = true; + setRotation(Shape16, 0F, 0F, 0.2617994F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + Shape5.render(f5); + Shape6.render(f5); + Shape7.render(f5); + Shape8.render(f5); + Shape9.render(f5); + Shape10.render(f5); + Shape11.render(f5); + Shape12.render(f5); + Shape13.render(f5); + Shape14.render(f5); + Shape15.render(f5); + Shape16.render(f5); + } + + public void renderModel(float f) { + Shape1.render(f); + Shape2.render(f); + Shape3.render(f); + Shape4.render(f); + Shape5.render(f); + Shape6.render(f); + Shape7.render(f); + Shape8.render(f); + Shape9.render(f); + Shape10.render(f); + Shape11.render(f); + Shape12.render(f); + Shape13.render(f); + Shape14.render(f); + Shape15.render(f); + Shape16.render(f); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelPoleTop.java b/com/hbm/render/ModelPoleTop.java new file mode 100644 index 000000000..340f7704c --- /dev/null +++ b/com/hbm/render/ModelPoleTop.java @@ -0,0 +1,105 @@ +// Date: 04.10.2015 21:16:44 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelPoleTop extends ModelBase +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + + public ModelPoleTop() + { + textureWidth = 64; + textureHeight = 64; + + Shape1 = new ModelRenderer(this, 0, 1); + Shape1.addBox(0F, 0F, 0F, 12, 8, 12); + Shape1.setRotationPoint(-6F, 16F, -6F); + Shape1.setTextureSize(64, 64); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 0, 23); + Shape2.addBox(0F, 0F, 0F, 4, 16, 4); + Shape2.setRotationPoint(4F, 4F, -8F); + Shape2.setTextureSize(64, 64); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 0, 23); + Shape3.addBox(0F, 0F, 0F, 4, 16, 4); + Shape3.setRotationPoint(4F, 4F, 4F); + Shape3.setTextureSize(64, 64); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0F); + Shape4 = new ModelRenderer(this, 0, 23); + Shape4.addBox(0F, 0F, 0F, 4, 16, 4); + Shape4.setRotationPoint(-8F, 4F, -8F); + Shape4.setTextureSize(64, 64); + Shape4.mirror = true; + setRotation(Shape4, 0F, 0F, 0F); + Shape5 = new ModelRenderer(this, 0, 23); + Shape5.addBox(0F, 0F, 0F, 4, 16, 4); + Shape5.setRotationPoint(-8F, 4F, 4F); + Shape5.setTextureSize(64, 64); + Shape5.mirror = true; + setRotation(Shape5, 0F, 0F, 0F); + Shape6 = new ModelRenderer(this, 0, 47); + Shape6.addBox(0F, 0F, 0F, 4, 2, 4); + Shape6.setRotationPoint(-2F, 14F, -2F); + Shape6.setTextureSize(64, 64); + Shape6.mirror = true; + setRotation(Shape6, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + Shape5.render(f5); + Shape6.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void renderModel(float f) + { + Shape1.render(f); + Shape2.render(f); + Shape3.render(f); + Shape4.render(f); + Shape5.render(f); + Shape6.render(f); + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelPoles.java b/com/hbm/render/ModelPoles.java new file mode 100644 index 000000000..387b1ce05 --- /dev/null +++ b/com/hbm/render/ModelPoles.java @@ -0,0 +1,132 @@ +// Date: 04.10.2015 20:54:36 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelPoles extends ModelBase +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + + public ModelPoles() + { + textureWidth = 64; + textureHeight = 64; + + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 2, 16, 2); + Shape1.setRotationPoint(-1F, 8F, 4F); + Shape1.setTextureSize(64, 64); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 0, 0); + Shape2.addBox(0F, 0F, 0F, 2, 16, 2); + Shape2.setRotationPoint(4F, 8F, -6F); + Shape2.setTextureSize(64, 64); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 0, 0); + Shape3.addBox(0F, 0F, 0F, 2, 16, 2); + Shape3.setRotationPoint(-6F, 8F, -6F); + Shape3.setTextureSize(64, 64); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0F); + Shape4 = new ModelRenderer(this, 0, 41); + Shape4.addBox(0F, -1F, 0F, 13, 1, 1); + Shape4.setRotationPoint(-4F, 21F, -5.5F); + Shape4.setTextureSize(64, 64); + Shape4.mirror = true; + setRotation(Shape4, 0F, 0F, -0.7853982F); + Shape5 = new ModelRenderer(this, 0, 41); + Shape5.addBox(0F, 0F, 0F, 13, 1, 1); + Shape5.setRotationPoint(4F, 21F, -5.5F); + Shape5.setTextureSize(64, 64); + Shape5.mirror = true; + setRotation(Shape5, 0F, 0F, -2.356194F); + Shape6 = new ModelRenderer(this, 0, 18); + Shape6.addBox(0F, -1F, 0F, 1, 1, 15); + Shape6.setRotationPoint(-5.533333F, 21F, -4F); + Shape6.setTextureSize(64, 64); + Shape6.mirror = true; + setRotation(Shape6, 0.7853982F, 0.4886922F, 0F); + Shape7 = new ModelRenderer(this, 0, 18); + Shape7.addBox(0F, 0F, 0F, 1, 1, 15); + Shape7.setRotationPoint(-5.5F, 12F, -4F); + Shape7.setTextureSize(64, 64); + Shape7.mirror = true; + setRotation(Shape7, -0.7853982F, 0.4886922F, 0F); + Shape8 = new ModelRenderer(this, 0, 18); + Shape8.addBox(-1F, 0F, 0F, 1, 1, 15); + Shape8.setRotationPoint(5.5F, 12F, -4F); + Shape8.setTextureSize(64, 64); + Shape8.mirror = true; + setRotation(Shape8, -0.7853982F, -0.4886922F, 0F); + Shape9 = new ModelRenderer(this, 0, 18); + Shape9.addBox(-1F, -1F, 0F, 1, 1, 15); + Shape9.setRotationPoint(5.5F, 21F, -4F); + Shape9.setTextureSize(64, 64); + Shape9.mirror = true; + setRotation(Shape9, 0.7853982F, -0.4886922F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + Shape5.render(f5); + Shape6.render(f5); + Shape7.render(f5); + Shape8.render(f5); + Shape9.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void renderModel(float f) + { + Shape1.render(f); + Shape2.render(f); + Shape3.render(f); + Shape4.render(f); + Shape5.render(f); + Shape6.render(f); + Shape7.render(f); + Shape8.render(f); + Shape9.render(f); + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelRPG.java b/com/hbm/render/ModelRPG.java new file mode 100644 index 000000000..333abadd3 --- /dev/null +++ b/com/hbm/render/ModelRPG.java @@ -0,0 +1,131 @@ +// Date: 20.07.2015 22:06:51 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelRPG extends ModelBase +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + + public ModelRPG() + { + textureWidth = 64; + textureHeight = 32; + + Shape1 = new ModelRenderer(this, 0, 27); + Shape1.addBox(0F, 0F, 0F, 1, 4, 1); + Shape1.setRotationPoint(0F, -1F, 0F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 0, 24); + Shape2.addBox(0F, 0F, 0F, 1, 2, 1); + Shape2.setRotationPoint(3F, 0F, 0F); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 0, 18); + Shape3.addBox(0F, 0F, 0F, 8, 2, 2); + Shape3.setRotationPoint(2F, -2F, -0.5F); + Shape3.setTextureSize(64, 32); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0F); + Shape4 = new ModelRenderer(this, 0, 16); + Shape4.addBox(0F, 0F, 0F, 4, 1, 1); + Shape4.setRotationPoint(10F, -1.5F, 0F); + Shape4.setTextureSize(64, 32); + Shape4.mirror = true; + setRotation(Shape4, 0F, 0F, 0F); + Shape5 = new ModelRenderer(this, 0, 12); + Shape5.addBox(0F, 0F, 0F, 3, 2, 2); + Shape5.setRotationPoint(14F, -2F, -0.5F); + Shape5.setTextureSize(64, 32); + Shape5.mirror = true; + setRotation(Shape5, 0F, 0F, 0F); + Shape6 = new ModelRenderer(this, 4, 30); + Shape6.addBox(0F, 0F, 0F, 4, 1, 1); + Shape6.setRotationPoint(-2F, -1.5F, 0F); + Shape6.setTextureSize(64, 32); + Shape6.mirror = true; + setRotation(Shape6, 0F, 0F, 0F); + Shape7 = new ModelRenderer(this, 30, 0); + Shape7.addBox(0F, 0F, 0F, 1, 2, 2); + Shape7.setRotationPoint(-3F, -2F, -0.5F); + Shape7.setTextureSize(64, 32); + Shape7.mirror = true; + setRotation(Shape7, 0F, 0F, 0F); + Shape8 = new ModelRenderer(this, 13, 0); + Shape8.addBox(0F, 0F, 0F, 5, 1, 1); + Shape8.setRotationPoint(-8F, -1.5F, 0F); + Shape8.setTextureSize(64, 32); + Shape8.mirror = true; + setRotation(Shape8, 0F, 0F, 0F); + Shape9 = new ModelRenderer(this, 0, 0); + Shape9.addBox(0F, 0F, 0F, 3, 2, 2); + Shape9.setRotationPoint(-6.5F, -2F, -0.5F); + Shape9.setTextureSize(64, 32); + Shape9.mirror = true; + setRotation(Shape9, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + Shape5.render(f5); + Shape6.render(f5); + Shape7.render(f5); + Shape8.render(f5); + Shape9.render(f5); + } + + public void renderModel(float f) { + Shape1.render(f); + Shape2.render(f); + Shape3.render(f); + Shape4.render(f); + Shape5.render(f); + Shape6.render(f); + Shape7.render(f); + Shape8.render(f); + Shape9.render(f); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelRevolver.java b/com/hbm/render/ModelRevolver.java new file mode 100644 index 000000000..b8234459a --- /dev/null +++ b/com/hbm/render/ModelRevolver.java @@ -0,0 +1,158 @@ +// Date: 07.10.2015 18:19:58 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelRevolver extends ModelBase +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + ModelRenderer Shape10; + ModelRenderer Shape11; + ModelRenderer Shape12; + + public ModelRevolver() + { + textureWidth = 64; + textureHeight = 64; + + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 3, 8, 2); + Shape1.setRotationPoint(0F, 0F, 0F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, -0.3490659F); + Shape2 = new ModelRenderer(this, 42, 0); + Shape2.addBox(0F, 0F, 0F, 9, 6, 2); + Shape2.setRotationPoint(-8F, -5F, 0F); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 0, 14); + Shape3.addBox(0F, 0F, 0F, 4, 2, 1); + Shape3.setRotationPoint(-0.03333334F, -3F, 0.5F); + Shape3.setTextureSize(64, 32); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0.715585F); + Shape4 = new ModelRenderer(this, 22, 0); + Shape4.addBox(0F, 0F, 0F, 6, 4, 4); + Shape4.setRotationPoint(-7F, -4F, -1F); + Shape4.setTextureSize(64, 32); + Shape4.mirror = true; + setRotation(Shape4, 0F, 0F, 0F); + Shape5 = new ModelRenderer(this, 0, 0); + Shape5.addBox(0F, 0F, 0F, 1, 1, 1); + Shape5.setRotationPoint(0F, 0F, 0F); + Shape5.setTextureSize(64, 32); + Shape5.mirror = true; + setRotation(Shape5, 0F, 0F, 0F); + Shape6 = new ModelRenderer(this, 34, 8); + Shape6.addBox(0F, 0F, 0F, 13, 2, 2); + Shape6.setRotationPoint(-21F, -4F, 0F); + Shape6.setTextureSize(64, 32); + Shape6.mirror = true; + setRotation(Shape6, 0F, 0F, 0F); + Shape7 = new ModelRenderer(this, 0, 17); + Shape7.addBox(0F, 0F, 0F, 1, 2, 1); + Shape7.setRotationPoint(2F, -3F, 0.5F); + Shape7.setTextureSize(64, 32); + Shape7.mirror = true; + setRotation(Shape7, 0F, 0F, 0.715585F); + Shape8 = new ModelRenderer(this, 4, 17); + Shape8.addBox(0F, 0F, 0F, 2, 1, 1); + Shape8.setRotationPoint(2F, -4F, 0.5F); + Shape8.setTextureSize(64, 32); + Shape8.mirror = true; + setRotation(Shape8, 0F, 0F, 0.715585F); + Shape9 = new ModelRenderer(this, 0, 20); + Shape9.addBox(0F, 0F, 0F, 6, 1, 1); + Shape9.setRotationPoint(-14F, -2F, 0.5F); + Shape9.setTextureSize(64, 32); + Shape9.mirror = true; + setRotation(Shape9, 0F, 0F, 0F); + Shape10 = new ModelRenderer(this, 26, 8); + Shape10.addBox(0F, 0F, 0F, 2, 2, 2); + Shape10.setRotationPoint(-19F, -5F, 0F); + Shape10.setTextureSize(64, 32); + Shape10.mirror = true; + setRotation(Shape10, 0F, 0F, 0.6108652F); + Shape11 = new ModelRenderer(this, 0, 10); + Shape11.addBox(0F, 0F, 0F, 4, 3, 1); + Shape11.setRotationPoint(-2F, 1F, 0.5F); + Shape11.setTextureSize(64, 32); + Shape11.mirror = true; + setRotation(Shape11, 0F, 0F, 0F); + Shape12 = new ModelRenderer(this, 10, 0); + Shape12.addBox(0F, 0F, 0F, 1, 3, 1); + Shape12.setRotationPoint(0F, 0F, 0.5F); + Shape12.setTextureSize(64, 32); + Shape12.mirror = true; + setRotation(Shape12, 0F, 0F, 0.5235988F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + Shape5.render(f5); + Shape6.render(f5); + Shape7.render(f5); + Shape8.render(f5); + Shape9.render(f5); + Shape10.render(f5); + Shape11.render(f5); + Shape12.render(f5); + } + + public void renderModel(float f) { + Shape1.render(f); + Shape2.render(f); + Shape3.render(f); + Shape4.render(f); + Shape5.render(f); + Shape6.render(f); + Shape7.render(f); + Shape8.render(f); + Shape9.render(f); + Shape10.render(f); + Shape11.render(f); + Shape12.render(f); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelRocket.java b/com/hbm/render/ModelRocket.java new file mode 100644 index 000000000..0dad44eee --- /dev/null +++ b/com/hbm/render/ModelRocket.java @@ -0,0 +1,71 @@ +// Date: 20.07.2015 22:08:24 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelRocket extends ModelBase +{ + //fields + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + + public ModelRocket() + { + textureWidth = 64; + textureHeight = 32; + + Shape7 = new ModelRenderer(this, 10, 0); + Shape7.addBox(0F, 0F, 0F, 1, 2, 2); + Shape7.setRotationPoint(-3F, -2F, -0.5F); + Shape7.setTextureSize(64, 32); + Shape7.mirror = true; + setRotation(Shape7, 0F, 0F, 0F); + Shape8 = new ModelRenderer(this, 0, 4); + Shape8.addBox(0F, 0F, 0F, 10, 1, 1); + Shape8.setRotationPoint(-8F, -1.5F, 0F); + Shape8.setTextureSize(64, 32); + Shape8.mirror = true; + setRotation(Shape8, 0F, 0F, 0F); + Shape9 = new ModelRenderer(this, 0, 0); + Shape9.addBox(0F, 0F, 0F, 3, 2, 2); + Shape9.setRotationPoint(-6.5F, -2F, -0.5F); + Shape9.setTextureSize(64, 32); + Shape9.mirror = true; + setRotation(Shape9, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape7.render(f5); + Shape8.render(f5); + Shape9.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelRotationTester.java b/com/hbm/render/ModelRotationTester.java new file mode 100644 index 000000000..aa89fbcee --- /dev/null +++ b/com/hbm/render/ModelRotationTester.java @@ -0,0 +1,68 @@ +// Date: 05.06.2015 10:47:12 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelRotationTester extends ModelBase +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + + public ModelRotationTester() + { + textureWidth = 64; + textureHeight = 32; + + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 16, 8, 16); + Shape1.setRotationPoint(-8F, 16F, -8F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 0, 0); + Shape2.addBox(0F, 0F, 0F, 16, 8, 8); + Shape2.setRotationPoint(-8F, 8F, 0F); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + } + + public void renderModel(float f) { + Shape1.render(f); + Shape2.render(f); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelSatelliteReceiver.java b/com/hbm/render/ModelSatelliteReceiver.java new file mode 100644 index 000000000..35e7cf857 --- /dev/null +++ b/com/hbm/render/ModelSatelliteReceiver.java @@ -0,0 +1,132 @@ +// Date: 04.10.2015 22:20:45 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelSatelliteReceiver extends ModelBase +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + + public ModelSatelliteReceiver() + { + textureWidth = 64; + textureHeight = 64; + + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 12, 16, 12); + Shape1.setRotationPoint(-6F, 8F, -6F); + Shape1.setTextureSize(64, 64); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 10, 28); + Shape2.addBox(3F, 9F, -8F, 8, 8, 2); + Shape2.setRotationPoint(-3F, 6F, 0F); + Shape2.setTextureSize(64, 64); + Shape2.mirror = true; + setRotation(Shape2, -0.2617994F, -0.4363323F, 0F); + Shape3 = new ModelRenderer(this, 0, 39); + Shape3.addBox(3F, 7F, -10F, 8, 2, 3); + Shape3.setRotationPoint(-3F, 6F, 0F); + Shape3.setTextureSize(64, 64); + Shape3.mirror = true; + setRotation(Shape3, -0.2617994F, -0.4363323F, 0F); + Shape4 = new ModelRenderer(this, 0, 28); + Shape4.addBox(1F, 9F, -10F, 2, 8, 3); + Shape4.setRotationPoint(-3F, 6F, 0F); + Shape4.setTextureSize(64, 64); + Shape4.mirror = true; + setRotation(Shape4, -0.2617994F, -0.4363323F, 0F); + Shape5 = new ModelRenderer(this, 0, 28); + Shape5.addBox(11F, 9F, -10F, 2, 8, 3); + Shape5.setRotationPoint(-3F, 6F, 0F); + Shape5.setTextureSize(64, 64); + Shape5.mirror = true; + setRotation(Shape5, -0.2617994F, -0.4363323F, 0F); + Shape6 = new ModelRenderer(this, 0, 39); + Shape6.addBox(3F, 17F, -10F, 8, 2, 3); + Shape6.setRotationPoint(-3F, 6F, 0F); + Shape6.setTextureSize(64, 64); + Shape6.mirror = true; + setRotation(Shape6, -0.2617994F, -0.4363323F, 0F); + Shape7 = new ModelRenderer(this, 0, 44); + Shape7.addBox(6F, 12F, -11F, 2, 2, 3); + Shape7.setRotationPoint(-3F, 6F, 0F); + Shape7.setTextureSize(64, 64); + Shape7.mirror = true; + setRotation(Shape7, -0.2617994F, -0.4363323F, 0F); + Shape8 = new ModelRenderer(this, 0, 49); + Shape8.addBox(6.5F, 12.5F, -14F, 1, 1, 3); + Shape8.setRotationPoint(-3F, 6F, 0F); + Shape8.setTextureSize(64, 64); + Shape8.mirror = true; + setRotation(Shape8, -0.2617994F, -0.4363323F, 0F); + Shape9 = new ModelRenderer(this, 0, 53); + Shape9.addBox(6F, 12F, -16F, 2, 2, 2); + Shape9.setRotationPoint(-3F, 6F, 0F); + Shape9.setTextureSize(64, 64); + Shape9.mirror = true; + setRotation(Shape9, -0.2617994F, -0.4363323F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + Shape5.render(f5); + Shape6.render(f5); + Shape7.render(f5); + Shape8.render(f5); + Shape9.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void renderModel(float f) + { + Shape1.render(f); + Shape2.render(f); + Shape3.render(f); + Shape4.render(f); + Shape5.render(f); + Shape6.render(f); + Shape7.render(f); + Shape8.render(f); + Shape9.render(f); + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelStatue.java b/com/hbm/render/ModelStatue.java new file mode 100644 index 000000000..410f7cbcd --- /dev/null +++ b/com/hbm/render/ModelStatue.java @@ -0,0 +1,131 @@ +// Date: 07.01.2016 13:25:20 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelStatue extends ModelBase +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + ModelRenderer Shape10; + + public ModelStatue() + { + textureWidth = 64; + textureHeight = 64; + + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 16, 8, 16); + Shape1.setRotationPoint(-8F, 16F, -8F); + Shape1.setTextureSize(64, 64); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 0, 24); + Shape2.addBox(0F, 0F, 0F, 4, 12, 4); + Shape2.setRotationPoint(-4F, 4F, -2F); + Shape2.setTextureSize(64, 64); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 16, 24); + Shape3.addBox(0F, 0F, 0F, 4, 12, 4); + Shape3.setRotationPoint(0F, 4F, -2F); + Shape3.setTextureSize(64, 64); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0F); + Shape4 = new ModelRenderer(this, 32, 40); + Shape4.addBox(0F, 0F, 0F, 8, 12, 4); + Shape4.setRotationPoint(-4F, -8F, -2F); + Shape4.setTextureSize(64, 64); + Shape4.mirror = true; + setRotation(Shape4, 0F, 0F, 0F); + Shape6 = new ModelRenderer(this, 0, 40); + Shape6.addBox(0F, 0F, -2F, 4, 8, 4); + Shape6.setRotationPoint(4F, -8F, 0F); + Shape6.setTextureSize(64, 64); + Shape6.mirror = true; + setRotation(Shape6, 0.5235988F, 0F, 0F); + Shape7 = new ModelRenderer(this, 16, 40); + Shape7.addBox(-4F, 0F, -2F, 4, 8, 4); + Shape7.setRotationPoint(-4F, -8F, 0F); + Shape7.setTextureSize(64, 64); + Shape7.mirror = true; + setRotation(Shape7, -0.0872665F, 0F, 0F); + Shape8 = new ModelRenderer(this, 0, 52); + Shape8.addBox(-2F, 0F, -2F, 4, 8, 4); + Shape8.setRotationPoint(6F, -2F, 3F); + Shape8.setTextureSize(64, 64); + Shape8.mirror = true; + setRotation(Shape8, 1.22173F, 0F, 0F); + Shape9 = new ModelRenderer(this, 16, 52); + Shape9.addBox(0F, 0F, -2F, 4, 8, 4); + Shape9.setRotationPoint(-8F, -1F, -0.5F); + Shape9.setTextureSize(64, 64); + Shape9.mirror = true; + setRotation(Shape9, 0.2617994F, 0F, 0F); + Shape10 = new ModelRenderer(this, 32, 24); + Shape10.addBox(-4F, -8F, -4F, 8, 8, 8); + Shape10.setRotationPoint(0F, -8F, 0F); + Shape10.setTextureSize(64, 64); + Shape10.mirror = true; + setRotation(Shape10, -0.1745329F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + Shape6.render(f5); + Shape7.render(f5); + Shape8.render(f5); + Shape9.render(f5); + Shape10.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + + public void renderModel(float f) { + Shape1.render(f); + Shape2.render(f); + Shape3.render(f); + Shape4.render(f); + Shape6.render(f); + Shape7.render(f); + Shape8.render(f); + Shape9.render(f); + Shape10.render(f); + } + +} diff --git a/com/hbm/render/ModelSteelBeam.java b/com/hbm/render/ModelSteelBeam.java new file mode 100644 index 000000000..20b7c4f93 --- /dev/null +++ b/com/hbm/render/ModelSteelBeam.java @@ -0,0 +1,60 @@ +// Date: 10.12.2015 21:02:25 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelSteelBeam extends ModelBase +{ + //fields + ModelRenderer Shape1; + + public ModelSteelBeam() + { + textureWidth = 64; + textureHeight = 32; + + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 2, 16, 2); + Shape1.setRotationPoint(-1F, 8F, -1F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void renderModel(float f) + { + Shape1.render(f); + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelSteelCorner.java b/com/hbm/render/ModelSteelCorner.java new file mode 100644 index 000000000..0d99e723d --- /dev/null +++ b/com/hbm/render/ModelSteelCorner.java @@ -0,0 +1,87 @@ +// Date: 10.12.2015 20:58:33 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelSteelCorner extends ModelBase +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + + public ModelSteelCorner() + { + textureWidth = 64; + textureHeight = 32; + + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 16, 16, 1); + Shape1.setRotationPoint(-8F, 8F, -8F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 34, 0); + Shape2.addBox(0F, 0F, 0F, 2, 16, 2); + Shape2.setRotationPoint(2F, 8F, -7F); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 0, 0); + Shape3.addBox(0F, 0F, 0F, 1, 16, 15); + Shape3.setRotationPoint(-8F, 8F, -7F); + Shape3.setTextureSize(64, 32); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0F); + Shape4 = new ModelRenderer(this, 34, 0); + Shape4.addBox(0F, 0F, 0F, 2, 16, 2); + Shape4.setRotationPoint(-7F, 8F, -2F); + Shape4.setTextureSize(64, 32); + Shape4.mirror = true; + setRotation(Shape4, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void renderModel(float f) + { + Shape1.render(f); + Shape2.render(f); + Shape3.render(f); + Shape4.render(f); + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelSteelRoof.java b/com/hbm/render/ModelSteelRoof.java new file mode 100644 index 000000000..01d7f4dc9 --- /dev/null +++ b/com/hbm/render/ModelSteelRoof.java @@ -0,0 +1,78 @@ +// Date: 10.12.2015 21:01:30 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelSteelRoof extends ModelBase +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + + public ModelSteelRoof() + { + textureWidth = 64; + textureHeight = 32; + + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 16, 1, 16); + Shape1.setRotationPoint(-8F, 23F, -8F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 30, 15); + Shape2.addBox(0F, 0F, 0F, 1, 1, 16); + Shape2.setRotationPoint(-3F, 22F, -8F); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 0, 17); + Shape3.addBox(0F, 0F, 0F, 16, 2, 2); + Shape3.setRotationPoint(-8F, 21F, 2F); + Shape3.setTextureSize(64, 32); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void renderModel(float f) + { + Shape1.render(f); + Shape2.render(f); + Shape3.render(f); + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelSteelScaffold.java b/com/hbm/render/ModelSteelScaffold.java new file mode 100644 index 000000000..d430f79ee --- /dev/null +++ b/com/hbm/render/ModelSteelScaffold.java @@ -0,0 +1,159 @@ +// Date: 10.12.2015 21:15:17 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelSteelScaffold extends ModelBase +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + ModelRenderer Shape10; + ModelRenderer Shape11; + ModelRenderer Shape12; + + public ModelSteelScaffold() + { + textureWidth = 64; + textureHeight = 32; + + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 2, 16, 2); + Shape1.setRotationPoint(6F, 8F, -6F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 0, 0); + Shape2.addBox(0F, 0F, 0F, 2, 16, 2); + Shape2.setRotationPoint(-8F, 8F, -6F); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 0, 0); + Shape3.addBox(0F, 0F, 0F, 2, 16, 2); + Shape3.setRotationPoint(-8F, 8F, 4F); + Shape3.setTextureSize(64, 32); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0F); + Shape4 = new ModelRenderer(this, 0, 0); + Shape4.addBox(0F, 0F, 0F, 2, 16, 2); + Shape4.setRotationPoint(6F, 8F, 4F); + Shape4.setTextureSize(64, 32); + Shape4.mirror = true; + setRotation(Shape4, 0F, 0F, 0F); + Shape5 = new ModelRenderer(this, 8, 0); + Shape5.addBox(-8F, -0.5F, 0F, 16, 1, 1); + Shape5.setRotationPoint(0F, 15.5F, 4.5F); + Shape5.setTextureSize(64, 32); + Shape5.mirror = true; + setRotation(Shape5, 0F, 0F, -0.6108652F); + Shape6 = new ModelRenderer(this, 8, 0); + Shape6.addBox(-8F, -0.5F, 0F, 16, 1, 1); + Shape6.setRotationPoint(0F, 15.5F, 4.5F); + Shape6.setTextureSize(64, 32); + Shape6.mirror = true; + setRotation(Shape6, 0F, 0F, 0.6108652F); + Shape7 = new ModelRenderer(this, 8, 0); + Shape7.addBox(-8F, -0.5F, 0F, 16, 1, 1); + Shape7.setRotationPoint(0F, 15.5F, -5.5F); + Shape7.setTextureSize(64, 32); + Shape7.mirror = true; + setRotation(Shape7, 0F, 0F, 0.6108652F); + Shape8 = new ModelRenderer(this, 8, 0); + Shape8.addBox(-8F, 0F, 0F, 16, 1, 1); + Shape8.setRotationPoint(0F, 15.5F, -5.5F); + Shape8.setTextureSize(64, 32); + Shape8.mirror = true; + setRotation(Shape8, 0F, 0F, -0.6108652F); + Shape9 = new ModelRenderer(this, 0, 19); + Shape9.addBox(-0.5F, -0.5F, -6F, 1, 1, 12); + Shape9.setRotationPoint(-7F, 15.5F, 0F); + Shape9.setTextureSize(64, 32); + Shape9.mirror = true; + setRotation(Shape9, 0.6108652F, 0F, 0F); + Shape10 = new ModelRenderer(this, 0, 19); + Shape10.addBox(-0.5F, -0.5F, -6F, 1, 1, 12); + Shape10.setRotationPoint(-7F, 15.5F, 0F); + Shape10.setTextureSize(64, 32); + Shape10.mirror = true; + setRotation(Shape10, -0.6108652F, 0F, 0F); + Shape11 = new ModelRenderer(this, 0, 19); + Shape11.addBox(-0.5F, -0.5F, -6F, 1, 1, 12); + Shape11.setRotationPoint(7F, 15.5F, 0F); + Shape11.setTextureSize(64, 32); + Shape11.mirror = true; + setRotation(Shape11, 0.6108652F, 0F, 0F); + Shape12 = new ModelRenderer(this, 0, 19); + Shape12.addBox(-0.5F, -0.5F, -6F, 1, 1, 12); + Shape12.setRotationPoint(7F, 15.5F, 0F); + Shape12.setTextureSize(64, 32); + Shape12.mirror = true; + setRotation(Shape12, -0.6108652F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + Shape5.render(f5); + Shape6.render(f5); + Shape7.render(f5); + Shape8.render(f5); + Shape9.render(f5); + Shape10.render(f5); + Shape11.render(f5); + Shape12.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void renderModel(float f) + { + Shape1.render(f); + Shape2.render(f); + Shape3.render(f); + Shape4.render(f); + Shape5.render(f); + Shape6.render(f); + Shape7.render(f); + Shape8.render(f); + Shape9.render(f); + Shape10.render(f); + Shape11.render(f); + Shape12.render(f); + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelSteelWall.java b/com/hbm/render/ModelSteelWall.java new file mode 100644 index 000000000..35905b273 --- /dev/null +++ b/com/hbm/render/ModelSteelWall.java @@ -0,0 +1,69 @@ +// Date: 10.12.2015 20:54:28 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelSteelWall extends ModelBase +{ + //fields + ModelRenderer Shape1; + ModelRenderer Shape2; + + public ModelSteelWall() + { + textureWidth = 64; + textureHeight = 32; + + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 16, 16, 1); + Shape1.setRotationPoint(-8F, 8F, -8F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 34, 0); + Shape2.addBox(0F, 0F, 0F, 2, 16, 2); + Shape2.setRotationPoint(-4F, 8F, -7F); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Shape1.render(f5); + Shape2.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void renderModel(float f) + { + Shape1.render(f); + Shape2.render(f); + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelSword.java b/com/hbm/render/ModelSword.java new file mode 100644 index 000000000..8fdffba76 --- /dev/null +++ b/com/hbm/render/ModelSword.java @@ -0,0 +1,103 @@ +// Date: 19.05.2015 14:19:31 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelSword extends ModelBase +{ + //fields + ModelRenderer GripBottom; + ModelRenderer GripHandle; + ModelRenderer Shield; + ModelRenderer Blade; + ModelRenderer BladeTip; + ModelRenderer Shield1; + ModelRenderer Shield2; + + public ModelSword() + { + textureWidth = 64; + textureHeight = 32; + + GripBottom = new ModelRenderer(this, 0, 17); + GripBottom.addBox(0F, 0F, 0F, 3, 3, 1); + GripBottom.setRotationPoint(0F, 0F, 0F); + GripBottom.setTextureSize(64, 32); + GripBottom.mirror = true; + setRotation(GripBottom, 0F, 0F, 0F); + GripHandle = new ModelRenderer(this, 8, 2); + GripHandle.addBox(0F, 0F, 0F, 2, 5, 1); + GripHandle.setRotationPoint(0.5F, -5F, 0F); + GripHandle.setTextureSize(64, 32); + GripHandle.mirror = true; + setRotation(GripHandle, 0F, 0F, 0F); + Shield = new ModelRenderer(this, 14, 5); + Shield.addBox(0F, 0F, 0F, 6, 1, 3); + Shield.setRotationPoint(-1.5F, -6F, -1F); + Shield.setTextureSize(64, 32); + Shield.mirror = true; + setRotation(Shield, 0F, 0F, 0F); + Blade = new ModelRenderer(this, 0, 0); + Blade.addBox(0F, 0F, 0F, 3, 16, 1); + Blade.setRotationPoint(0F, -22F, 0F); + Blade.setTextureSize(64, 32); + Blade.mirror = true; + setRotation(Blade, 0F, 0F, 0F); + BladeTip = new ModelRenderer(this, 8, 0); + BladeTip.addBox(0F, 0F, 0F, 2, 1, 1); + BladeTip.setRotationPoint(0.5F, -23F, 0F); + BladeTip.setTextureSize(64, 32); + BladeTip.mirror = true; + setRotation(BladeTip, 0F, 0F, 0F); + Shield1 = new ModelRenderer(this, 14, 0); + Shield1.addBox(0F, 0F, 0F, 1, 1, 4); + Shield1.setRotationPoint(-2F, -6.5F, -1.5F); + Shield1.setTextureSize(64, 32); + Shield1.mirror = true; + setRotation(Shield1, 0F, 0F, 0F); + Shield2 = new ModelRenderer(this, 24, 0); + Shield2.addBox(0F, 0F, 0F, 1, 1, 4); + Shield2.setRotationPoint(4F, -6.5F, -1.5F); + Shield2.setTextureSize(64, 32); + Shield2.mirror = true; + setRotation(Shield2, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + GripBottom.render(f5); + GripHandle.render(f5); + Shield.render(f5); + Blade.render(f5); + BladeTip.render(f5); + Shield1.render(f5); + Shield2.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelT45Boots.java b/com/hbm/render/ModelT45Boots.java new file mode 100644 index 000000000..5288945c9 --- /dev/null +++ b/com/hbm/render/ModelT45Boots.java @@ -0,0 +1,128 @@ +// Date: 25.12.2015 00:50:09 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; + +public class ModelT45Boots extends ModelBiped +{ + //fields + ModelRenderer leftleg; + ModelRenderer rightleg; + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + + public ModelT45Boots() + { + textureWidth = 64; + textureHeight = 32; + + leftleg = new ModelRenderer(this, 0, 0); + rightleg = new ModelRenderer(this, 0, 0); + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 4, 2, 6); + Shape1.setRotationPoint(-4F + 2, 0F + 9.5F, -4F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 0, 8); + Shape2.addBox(0F, 0F, 0F, 4, 2, 6); + Shape2.setRotationPoint(0F - 2, 0F + 9.5F, -4F); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 0, 16); + Shape3.addBox(0F, -1F, 0F, 4, 2, 4); + Shape3.setRotationPoint(-4F + 2, 0F + 9.5F, -4F); + Shape3.setTextureSize(64, 32); + Shape3.mirror = true; + setRotation(Shape3, 0.2617994F, 0F, 0F); + Shape4 = new ModelRenderer(this, 0, 22); + Shape4.addBox(0F, -1F, 0F, 4, 2, 4); + Shape4.setRotationPoint(0F - 2, 0F + 9.5F, -4F); + Shape4.setTextureSize(64, 32); + Shape4.mirror = true; + setRotation(Shape4, 0.2617994F, 0F, 0F); + } + + /*public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + }*/ + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + EntityPlayer player = (EntityPlayer)entity; + if(player.isSneaking()) + { + this.isSneak = true; + } else { + this.isSneak = false; + } + + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + this.leftleg.rotationPointX = this.bipedLeftLeg.rotationPointX; + this.leftleg.rotationPointY = this.bipedLeftLeg.rotationPointY - 1.5F; + this.leftleg.rotationPointZ = this.bipedLeftLeg.rotationPointZ; + this.leftleg.rotateAngleX = this.bipedLeftLeg.rotateAngleX; + this.leftleg.rotateAngleY = this.bipedLeftLeg.rotateAngleY; + this.leftleg.rotateAngleZ = this.bipedLeftLeg.rotateAngleZ; + this.rightleg.rotationPointX = this.bipedRightLeg.rotationPointX; + this.rightleg.rotationPointY = this.bipedRightLeg.rotationPointY - 1.5F; + this.rightleg.rotationPointZ = this.bipedRightLeg.rotationPointZ; + this.rightleg.rotateAngleX = this.bipedRightLeg.rotateAngleX; + this.rightleg.rotateAngleY = this.bipedRightLeg.rotateAngleY; + this.rightleg.rotateAngleZ = this.bipedRightLeg.rotateAngleZ; + + if(this.isSneak) + { + this.leftleg.rotationPointZ -= 0.5F; + this.rightleg.rotationPointZ -= 0.5F; + this.leftleg.rotationPointY += 0.5F; + this.rightleg.rotationPointY += 0.5F; + } + } + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) + { + setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + GL11.glPushMatrix(); + GL11.glScalef(1.125F, 1.125F, 1.125F); + this.leftleg.addChild(Shape1); + this.leftleg.addChild(Shape3); + this.leftleg.render(par7); + + this.rightleg.addChild(Shape2); + this.rightleg.addChild(Shape4); + this.rightleg.render(par7); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/ModelT45Chest.java b/com/hbm/render/ModelT45Chest.java new file mode 100644 index 000000000..dcbe545c8 --- /dev/null +++ b/com/hbm/render/ModelT45Chest.java @@ -0,0 +1,306 @@ +// Date: 25.12.2015 00:41:13 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumAction; +import net.minecraft.item.ItemStack; + +public class ModelT45Chest extends ModelBiped +{ + //fields + ModelRenderer chest; + ModelRenderer leftarm; + ModelRenderer rightarm; + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + ModelRenderer Shape10; + ModelRenderer Shape11; + ModelRenderer Shape12; + ModelRenderer Shape13; + ModelRenderer Shape14; + ModelRenderer Shape15; + ModelRenderer Shape16; + ModelRenderer Shape17; + ModelRenderer Shape18; + ModelRenderer Shape19; + + public ModelT45Chest() + { + textureWidth = 128; + textureHeight = 64; + + chest = new ModelRenderer(this, 0, 0); + leftarm = new ModelRenderer(this, 0, 0); + rightarm = new ModelRenderer(this, 0, 0); + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 8, 12, 4); + Shape1.setRotationPoint(-4F, 0F - 0.0625F / 2, -2F); + Shape1.setTextureSize(128, 64); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 0, 16); + Shape2.addBox(0F, 0F, 0F, 7, 5, 2); + Shape2.setRotationPoint(-3.5F, 2F - 0.0625F / 2, -3.5F); + Shape2.setTextureSize(128, 64); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 0, 23); + Shape3.addBox(0F, 0F, 0F, 1, 1, 1); + Shape3.setRotationPoint(-2.5F, 7F - 0.0625F / 2, -3F); + Shape3.setTextureSize(128, 64); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0F); + Shape4 = new ModelRenderer(this, 0, 25); + Shape4.addBox(0F, 0F, 0F, 1, 1, 1); + Shape4.setRotationPoint(1.5F, 7F - 0.0625F / 2, -3F); + Shape4.setTextureSize(128, 64); + Shape4.mirror = true; + setRotation(Shape4, 0F, 0F, 0F); + Shape5 = new ModelRenderer(this, 0, 28); + Shape5.addBox(0F, -2F, 0F, 7, 2, 2); + Shape5.setRotationPoint(-3.5F, 2F - 0.0625F / 2, -3.5F); + Shape5.setTextureSize(128, 64); + Shape5.mirror = true; + setRotation(Shape5, -0.6108652F, 0F, 0F); + Shape6 = new ModelRenderer(this, 48, 0); + Shape6.addBox(0F, 0F, 0F, 4, 12, 4); + Shape6.setRotationPoint(4F - 6 + 0.25F, 0F - 3, -2F); + Shape6.setTextureSize(128, 64); + Shape6.mirror = true; + setRotation(Shape6, 0F, 0F, 0F); + Shape7 = new ModelRenderer(this, 32, 0); + Shape7.addBox(0F, 0F, 0F, 4, 12, 4); + Shape7.setRotationPoint(-8F + 6 - 0.25F, 0F - 3, -2F); + Shape7.setTextureSize(128, 64); + Shape7.mirror = true; + setRotation(Shape7, 0F, 0F, 0F); + Shape8 = new ModelRenderer(this, 32, 16); + Shape8.addBox(0F, 0F, 0F, 5, 6, 6); + Shape8.setRotationPoint(4F - 6 + 0.25F, 4F - 3, -3F); + Shape8.setTextureSize(128, 64); + Shape8.mirror = true; + setRotation(Shape8, 0F, 0F, 0F); + Shape9 = new ModelRenderer(this, 0, 34); + Shape9.addBox(0F, 0F, 0F, 5, 6, 6); + Shape9.setRotationPoint(-9F + 6 - 0.25F, 4F - 3, -3F); + Shape9.setTextureSize(128, 64); + Shape9.mirror = true; + setRotation(Shape9, 0F, 0F, 0F); + Shape10 = new ModelRenderer(this, 32, 30); + Shape10.addBox(0F, 0F, 0F, 2, 6, 2); + Shape10.setRotationPoint(1F, 4F - 0.0625F / 2, 2F); + Shape10.setTextureSize(128, 64); + Shape10.mirror = true; + setRotation(Shape10, 0F, 0F, 0F); + Shape11 = new ModelRenderer(this, 42, 30); + Shape11.addBox(0F, 0F, 0F, 2, 6, 2); + Shape11.setRotationPoint(-3F, 4F - 0.0625F / 2, 2F); + Shape11.setTextureSize(128, 64); + Shape11.mirror = true; + setRotation(Shape11, 0F, 0F, 0F); + Shape12 = new ModelRenderer(this, 26, 9); + Shape12.addBox(0F, 0F, 0F, 1, 6, 1); + Shape12.setRotationPoint(1.5F, -2F - 0.0625F / 2, 2F); + Shape12.setTextureSize(128, 64); + Shape12.mirror = true; + setRotation(Shape12, 0F, 0F, 0F); + Shape13 = new ModelRenderer(this, 26, 0); + Shape13.addBox(0F, 0F, 0F, 1, 6, 1); + Shape13.setRotationPoint(-2.5F, -2F - 0.0625F / 2, 2F); + Shape13.setTextureSize(128, 64); + Shape13.mirror = true; + setRotation(Shape13, 0F, 0F, 0F); + Shape14 = new ModelRenderer(this, 20, 18); + Shape14.addBox(0F, 0F, 0F, 2, 2, 1); + Shape14.setRotationPoint(-1F, 1F - 0.0625F / 2, 2F); + Shape14.setTextureSize(128, 64); + Shape14.mirror = true; + setRotation(Shape14, 0F, 0F, 0F); + Shape15 = new ModelRenderer(this, 21, 23); + Shape15.addBox(-1.5F, -1.5F, 0F, 3, 3, 1); + Shape15.setRotationPoint(0F, 2F - 0.0625F / 2, 3F); + Shape15.setTextureSize(128, 64); + Shape15.mirror = true; + setRotation(Shape15, 0F, 0F, 0.7853982F); + Shape16 = new ModelRenderer(this, 0, 48); + Shape16.addBox(0F, -1F, 0F, 3, 1, 4); + Shape16.setRotationPoint(-8F + 6 - 0.25F, 12F - 3, -2F); + Shape16.setTextureSize(128, 64); + Shape16.mirror = true; + setRotation(Shape16, 0F, 0F, 0.5235988F); + Shape17 = new ModelRenderer(this, 0, 55); + Shape17.addBox(-3F, -1F, 0F, 3, 1, 4); + Shape17.setRotationPoint(8F - 6 + 0.25F, 12F - 3, -2F); + Shape17.setTextureSize(128, 64); + Shape17.mirror = true; + setRotation(Shape17, 0F, 0F, -0.5235988F); + Shape18 = new ModelRenderer(this, 90, 0); + Shape18.addBox(0F, -3F, 0F, 5, 3, 6); + Shape18.setRotationPoint(4F - 6 + 0.25F, 0F - 3, -3F); + Shape18.setTextureSize(128, 64); + Shape18.mirror = true; + setRotation(Shape18, 0F, 0F, 0.2617994F); + Shape19 = new ModelRenderer(this, 66, 0); + Shape19.addBox(-5F, -3F, 0F, 5, 3, 6); + Shape19.setRotationPoint(-4F + 6 - 0.25F, 0F - 3, -3F); + Shape19.setTextureSize(128, 64); + Shape19.mirror = true; + setRotation(Shape19, 0F, 0F, -0.2617994F); + } + + /*public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + Shape5.render(f5); + Shape6.render(f5); + Shape7.render(f5); + Shape8.render(f5); + Shape9.render(f5); + Shape10.render(f5); + Shape11.render(f5); + Shape12.render(f5); + Shape13.render(f5); + Shape14.render(f5); + Shape15.render(f5); + Shape16.render(f5); + Shape17.render(f5); + Shape18.render(f5); + Shape19.render(f5); + }*/ + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + if(entity instanceof EntityPlayer) + { + EntityPlayer player = (EntityPlayer)entity; + if(player.isSneaking()) + { + this.isSneak = true; + } else { + this.isSneak = false; + } + ItemStack itemstack = player.inventory.getCurrentItem(); + this.heldItemRight = itemstack != null ? 1 : 0; + + if (itemstack != null && player.getItemInUseCount() > 0) + { + EnumAction enumaction = itemstack.getItemUseAction(); + + if (enumaction == EnumAction.block) + { + this.heldItemRight = 3; + } + else if (enumaction == EnumAction.bow) + { + this.aimedBow = true; + } + } + } + float s = 1/16; + + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + this.chest.rotationPointX = this.bipedBody.rotationPointX; + this.chest.rotationPointY = this.bipedBody.rotationPointY; + this.chest.rotationPointZ = this.bipedBody.rotationPointZ; + this.chest.rotateAngleX = this.bipedBody.rotateAngleX; + this.chest.rotateAngleY = this.bipedBody.rotateAngleY; + this.chest.rotateAngleZ = this.bipedBody.rotateAngleZ; + this.leftarm.rotationPointX = this.bipedLeftArm.rotationPointX; + this.leftarm.rotationPointY = this.bipedLeftArm.rotationPointY; + this.leftarm.rotationPointZ = this.bipedLeftArm.rotationPointZ; + this.leftarm.rotateAngleX = this.bipedLeftArm.rotateAngleX; + this.leftarm.rotateAngleY = this.bipedLeftArm.rotateAngleY; + this.leftarm.rotateAngleZ = this.bipedLeftArm.rotateAngleZ; + this.rightarm.rotationPointX = this.bipedRightArm.rotationPointX; + this.rightarm.rotationPointY = this.bipedRightArm.rotationPointY; + this.rightarm.rotationPointZ = this.bipedRightArm.rotationPointZ; + this.rightarm.rotateAngleX = this.bipedRightArm.rotateAngleX; + this.rightarm.rotateAngleY = this.bipedRightArm.rotateAngleY; + this.rightarm.rotateAngleZ = this.bipedRightArm.rotateAngleZ; + } + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) + { + setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + GL11.glPushMatrix(); + GL11.glScalef(1.125F, 1.125F, 1.125F); + this.chest.addChild(Shape1); + this.chest.addChild(Shape2); + this.chest.addChild(Shape3); + this.chest.addChild(Shape4); + this.chest.addChild(Shape5); + this.chest.addChild(Shape10); + this.chest.addChild(Shape11); + this.chest.addChild(Shape12); + this.chest.addChild(Shape13); + this.chest.addChild(Shape14); + this.chest.addChild(Shape15); + this.chest.render(par7); + this.aimedBow = false; + GL11.glPopMatrix(); + this.renderLeft(par1Entity, par2, par3, par4, par5, par6, par7); + this.renderRight(par1Entity, par2, par3, par4, par5, par6, par7); + } + + public void renderLeft(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) + { + setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + GL11.glPushMatrix(); + GL11.glScalef(1.125F, 1.125F, 1.125F); + this.leftarm.addChild(Shape6); + this.leftarm.addChild(Shape8); + this.leftarm.addChild(Shape17); + this.leftarm.addChild(Shape18); + this.leftarm.render(par7); + this.aimedBow = false; + GL11.glPopMatrix(); + } + + public void renderRight(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) + { + setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + GL11.glPushMatrix(); + GL11.glScalef(1.125F, 1.125F, 1.125F); + this.rightarm.addChild(Shape7); + this.rightarm.addChild(Shape9); + this.rightarm.addChild(Shape16); + this.rightarm.addChild(Shape19); + this.rightarm.render(par7); + this.aimedBow = false; + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/ModelT45Helmet.java b/com/hbm/render/ModelT45Helmet.java new file mode 100644 index 000000000..37ca5faf5 --- /dev/null +++ b/com/hbm/render/ModelT45Helmet.java @@ -0,0 +1,145 @@ +// Date: 25.12.2015 00:20:25 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; + +public class ModelT45Helmet extends ModelBiped +{ + //fields + ModelRenderer helmet; + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + + public ModelT45Helmet() + { + textureWidth = 64; + textureHeight = 32; + + helmet = new ModelRenderer(this, 0, 0); + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 8, 8, 8); + Shape1.setRotationPoint(-4F, 0F - 8 + 0.0625F / 2, -4F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 32, 0); + Shape2.addBox(0F, 0F, 0F, 2, 2, 1); + Shape2.setRotationPoint(1F, 1F - 8 + 0.0625F / 2 + 1, -5F); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 40, 6); + Shape3.addBox(0F, 0F, 0F, 1, 1, 4); + Shape3.setRotationPoint(-5F, 1F - 8 + 0.0625F / 2, -5.466667F); + Shape3.setTextureSize(64, 32); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0F); + Shape4 = new ModelRenderer(this, 40, 0); + Shape4.addBox(0F, 0F, 0F, 4, 2, 2); + Shape4.setRotationPoint(-2F, 5F - 8 + 0.0625F / 2, -4F); + Shape4.setTextureSize(64, 32); + Shape4.mirror = true; + setRotation(Shape4, -0.7853982F, 0F, 0F); + Shape5 = new ModelRenderer(this, 54, 0); + Shape5.addBox(0F, 2F, 0F, 2, 1, 2); + Shape5.setRotationPoint(-1F, 5F - 8 + 0.0625F / 2, -4F); + Shape5.setTextureSize(64, 32); + Shape5.mirror = true; + setRotation(Shape5, -0.7853982F, 0F, 0F); + Shape6 = new ModelRenderer(this, 0, 16); + Shape6.addBox(0F, 0F, 0F, 10, 1, 9); + Shape6.setRotationPoint(-5F, 6F - 8 + 0.0625F / 2, -4.5F); + Shape6.setTextureSize(64, 32); + Shape6.mirror = true; + setRotation(Shape6, 0F, 0F, 0F); + Shape7 = new ModelRenderer(this, 32, 7); + Shape7.addBox(0F, 0F, 0F, 1, 1, 1); + Shape7.setRotationPoint(-1.5F, 5F - 8 + 0.0625F / 2, -4.5F); + Shape7.setTextureSize(64, 32); + Shape7.mirror = true; + setRotation(Shape7, -0.7853982F, 0F, 0F); + Shape8 = new ModelRenderer(this, 32, 5); + Shape8.addBox(0F, 0F, 0F, 1, 1, 1); + Shape8.setRotationPoint(0.5F, 5F - 8 + 0.0625F / 2, -4.5F); + Shape8.setTextureSize(64, 32); + Shape8.mirror = true; + setRotation(Shape8, -0.7853982F, 0F, 0F); + } + + /*public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + Shape5.render(f5); + Shape6.render(f5); + Shape7.render(f5); + Shape8.render(f5); + }*/ + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + EntityPlayer player = (EntityPlayer)entity; + if(player.isSneaking()) + { + this.isSneak = true; + } else { + this.isSneak = false; + } + + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + this.helmet.rotationPointX = this.bipedHead.rotationPointX; + this.helmet.rotationPointY = this.bipedHead.rotationPointY; + this.helmet.rotateAngleY = this.bipedHead.rotateAngleY; + this.helmet.rotateAngleX = this.bipedHead.rotateAngleX; + } + + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) + { + setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + GL11.glPushMatrix(); + GL11.glScalef(1.125F, 1.125F, 1.125F); + this.helmet.addChild(Shape1); + this.helmet.addChild(Shape2); + this.helmet.addChild(Shape3); + this.helmet.addChild(Shape4); + this.helmet.addChild(Shape5); + this.helmet.addChild(Shape6); + this.helmet.addChild(Shape7); + this.helmet.addChild(Shape8); + this.helmet.render(par7); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/ModelT45Legs.java b/com/hbm/render/ModelT45Legs.java new file mode 100644 index 000000000..16b9cf1e0 --- /dev/null +++ b/com/hbm/render/ModelT45Legs.java @@ -0,0 +1,149 @@ +// Date: 25.12.2015 00:46:58 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumAction; +import net.minecraft.item.ItemStack; + +public class ModelT45Legs extends ModelBiped +{ + //fields + ModelRenderer leftleg; + ModelRenderer rightleg; + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + + public ModelT45Legs() + { + textureWidth = 64; + textureHeight = 32; + + leftleg = new ModelRenderer(this, 0, 0); + rightleg = new ModelRenderer(this, 0, 0); + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 4, 12, 4); + Shape1.setRotationPoint(-4F + 2, 0F - 0.5F, -2F); + Shape1.setTextureSize(64, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 16, 0); + Shape2.addBox(0F, 0F, 0F, 4, 12, 4); + Shape2.setRotationPoint(0F - 2, 0F - 0.5F, -2F); + Shape2.setTextureSize(64, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 0, 16); + Shape3.addBox(0F, -6F, 0F, 5, 6, 4); + Shape3.setRotationPoint(-5F + 2, 10F - 0.5F, -2F); + Shape3.setTextureSize(64, 32); + Shape3.mirror = true; + setRotation(Shape3, 0.1745329F, 0F, 0F); + Shape4 = new ModelRenderer(this, 18, 16); + Shape4.addBox(0F, -6F, 0F, 5, 6, 4); + Shape4.setRotationPoint(0F - 2, 10F - 0.5F, -2F); + Shape4.setTextureSize(64, 32); + Shape4.mirror = true; + setRotation(Shape4, 0.1745329F, 0F, 0F); + Shape5 = new ModelRenderer(this, 34, 0); + Shape5.addBox(0F, 0F, 0F, 5, 2, 4); + Shape5.setRotationPoint(-5F + 2, 1F - 0.5F, -3F); + Shape5.setTextureSize(64, 32); + Shape5.mirror = true; + setRotation(Shape5, 0F, 0F, 0F); + Shape6 = new ModelRenderer(this, 34, 8); + Shape6.addBox(0F, 0F, 0F, 5, 2, 4); + Shape6.setRotationPoint(0F - 2, 1F - 0.5F, -3F); + Shape6.setTextureSize(64, 32); + Shape6.mirror = true; + setRotation(Shape6, 0F, 0F, 0F); + } + + /*public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + Shape5.render(f5); + Shape6.render(f5); + }*/ + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + + EntityPlayer player = (EntityPlayer)entity; + if(player.isSneaking()) + { + this.isSneak = true; + } else { + this.isSneak = false; + } + + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + this.leftleg.rotationPointX = this.bipedLeftLeg.rotationPointX; + this.leftleg.rotationPointY = this.bipedLeftLeg.rotationPointY - 1.5F; + this.leftleg.rotationPointZ = this.bipedLeftLeg.rotationPointZ; + this.leftleg.rotateAngleX = this.bipedLeftLeg.rotateAngleX; + this.leftleg.rotateAngleY = this.bipedLeftLeg.rotateAngleY; + this.leftleg.rotateAngleZ = this.bipedLeftLeg.rotateAngleZ; + this.rightleg.rotationPointX = this.bipedRightLeg.rotationPointX; + this.rightleg.rotationPointY = this.bipedRightLeg.rotationPointY - 1.5F; + this.rightleg.rotationPointZ = this.bipedRightLeg.rotationPointZ; + this.rightleg.rotateAngleX = this.bipedRightLeg.rotateAngleX; + this.rightleg.rotateAngleY = this.bipedRightLeg.rotateAngleY; + this.rightleg.rotateAngleZ = this.bipedRightLeg.rotateAngleZ; + + if(this.isSneak) + { + this.leftleg.rotationPointZ -= 0.5F; + this.rightleg.rotationPointZ -= 0.5F; + this.leftleg.rotationPointY += 0.5F; + this.rightleg.rotationPointY += 0.5F; + } + } + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) + { + setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + GL11.glPushMatrix(); + GL11.glScalef(1.125F, 1.125F, 1.125F); + this.leftleg.addChild(Shape2); + this.leftleg.addChild(Shape4); + this.leftleg.addChild(Shape6); + this.leftleg.render(par7); + + this.rightleg.addChild(Shape1); + this.rightleg.addChild(Shape3); + this.rightleg.addChild(Shape5); + this.rightleg.render(par7); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/ModelTapeRecorder.java b/com/hbm/render/ModelTapeRecorder.java new file mode 100644 index 000000000..636d5caa1 --- /dev/null +++ b/com/hbm/render/ModelTapeRecorder.java @@ -0,0 +1,75 @@ +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelTapeRecorder extends ModelBase +{ + ModelRenderer Base; + ModelRenderer Tape; + ModelRenderer Part1; + ModelRenderer Part2; + + public ModelTapeRecorder() + { + textureWidth = 128; + textureHeight = 64; + + Base = new ModelRenderer(this, 0, 0); + Base.addBox(0F, 0F, 0F, 16, 16, 12); + Base.setRotationPoint(-8F, 8F, -4F); + Base.setTextureSize(128, 64); + Base.mirror = true; + setRotation(Base, 0F, 0F, 0F); + Tape = new ModelRenderer(this, 0, 28); + Tape.addBox(0F, 0F, 0F, 8, 0, 2); + Tape.setRotationPoint(-4F, 11F, -6F); + Tape.setTextureSize(128, 64); + Tape.mirror = true; + setRotation(Tape, 0F, 0F, 0F); + Part1 = new ModelRenderer(this, 9, 42); + Part1.addBox(0F, 0F, 0F, 6, 6, 2); + Part1.setRotationPoint(-7F, 11F, -6F); + Part1.setTextureSize(128, 64); + Part1.mirror = true; + setRotation(Part1, 0F, 0F, 0F); + Part2 = new ModelRenderer(this, 44, 42); + Part2.addBox(0F, 0F, 0F, 6, 6, 2); + Part2.setRotationPoint(1F, 11F, -6F); + Part2.setTextureSize(128, 64); + Part2.mirror = true; + setRotation(Part2, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Base.render(f5); + Tape.render(f5); + Part1.render(f5); + Part2.render(f5); + } + + public void renderModel(float f) + { + Base.render(f); + Tape.render(f); + Part1.render(f); + Part2.render(f); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelTestBombAdvanced.java b/com/hbm/render/ModelTestBombAdvanced.java new file mode 100644 index 000000000..a47f97415 --- /dev/null +++ b/com/hbm/render/ModelTestBombAdvanced.java @@ -0,0 +1,123 @@ +// Date: 18.05.2015 21:04:52 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelTestBombAdvanced extends ModelBase +{ + //fields + ModelRenderer FinEnd; + ModelRenderer BombTip; + ModelRenderer FinBase; + ModelRenderer FinTop; + ModelRenderer FinBottom; + ModelRenderer FinLeft; + ModelRenderer FinRight; + ModelRenderer BombBody; + + public ModelTestBombAdvanced() + { + textureWidth = 128; + textureHeight = 128; + + FinEnd = new ModelRenderer(this, 0, 0); + FinEnd.addBox(0F, 0F, 0F, 8, 8, 4); + FinEnd.setRotationPoint(-4F, 16F, 20F); + FinEnd.setTextureSize(128, 128); + FinEnd.mirror = true; + setRotation(FinEnd, 0F, 0F, 0F); + BombTip = new ModelRenderer(this, 55, 0); + BombTip.addBox(0F, 0F, 0F, 6, 6, 2); + BombTip.setRotationPoint(-3F, 17F, -24F); + BombTip.setTextureSize(128, 128); + BombTip.mirror = true; + setRotation(BombTip, 0F, 0F, 0F); + FinBase = new ModelRenderer(this, 74, 0); + FinBase.addBox(0F, 0F, 0F, 6, 6, 2); + FinBase.setRotationPoint(-3F, 17F, 14F); + FinBase.setTextureSize(128, 128); + FinBase.mirror = true; + setRotation(FinBase, 0F, 0F, 0F); + FinTop = new ModelRenderer(this, 0, 74); + FinTop.addBox(0F, 0F, -6F, 8, 0, 6); + FinTop.setRotationPoint(-4F, 16F, 20F); + FinTop.setTextureSize(128, 128); + FinTop.mirror = true; + setRotation(FinTop, 0.4363323F, 0F, 0F); + FinBottom = new ModelRenderer(this, 0, 74); + FinBottom.addBox(0F, 0F, -6F, 8, 0, 6); + FinBottom.setRotationPoint(-4F, 24F, 20F); + FinBottom.setTextureSize(128, 128); + FinBottom.mirror = true; + setRotation(FinBottom, -0.4363323F, 0F, 0F); + FinLeft = new ModelRenderer(this, 0, 51); + FinLeft.addBox(0F, 0F, -6F, 0, 8, 6); + FinLeft.setRotationPoint(4F, 16F, 20F); + FinLeft.setTextureSize(128, 128); + FinLeft.mirror = true; + setRotation(FinLeft, 0F, 0.4363323F, 0F); + FinRight = new ModelRenderer(this, 0, 51); + FinRight.addBox(0F, 0F, -6F, 0, 8, 6); + FinRight.setRotationPoint(-4F, 16F, 20F); + FinRight.setTextureSize(128, 128); + FinRight.mirror = true; + setRotation(FinRight, 0F, -0.4363323F, 0F); + BombBody = new ModelRenderer(this, 0, 0); + BombBody.addBox(0F, 0F, 0F, 8, 8, 36); + BombBody.setRotationPoint(-4F, 16F, -22F); + BombBody.setTextureSize(128, 128); + BombBody.mirror = true; + setRotation(BombBody, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + FinEnd.render(f5); + BombTip.render(f5); + FinBase.render(f5); + FinTop.render(f5); + FinBottom.render(f5); + FinLeft.render(f5); + FinRight.render(f5); + BombBody.render(f5); + } + + public void renderModel(float f) + { + FinEnd.render(f); + BombTip.render(f); + FinBase.render(f); + FinTop.render(f); + FinBottom.render(f); + FinLeft.render(f); + FinRight.render(f); + BombBody.render(f); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/ModelTestRender.java b/com/hbm/render/ModelTestRender.java new file mode 100644 index 000000000..6d407436b --- /dev/null +++ b/com/hbm/render/ModelTestRender.java @@ -0,0 +1,59 @@ +// Date: 16.05.2015 19:38:19 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + + + + + + +package com.hbm.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelTestRender extends ModelBase +{ + //fields + ModelRenderer MainBlock; + + public ModelTestRender() + { + textureWidth = 64; + textureHeight = 32; + + MainBlock = new ModelRenderer(this, 0, 0); + MainBlock.addBox(0F, 0F, 0F, 12, 16, 12); + MainBlock.setRotationPoint(-6F, 8F, -6F); + MainBlock.setTextureSize(64, 32); + MainBlock.mirror = true; + setRotation(MainBlock, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + MainBlock.render(f5); + } + + public void renderModel(float f) { + MainBlock.render(f); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/RenderBombMulti.java b/com/hbm/render/RenderBombMulti.java new file mode 100644 index 000000000..810dba8ee --- /dev/null +++ b/com/hbm/render/RenderBombMulti.java @@ -0,0 +1,47 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderBombMulti extends TileEntitySpecialRenderer { + + private static final ResourceLocation bombModel = new ResourceLocation(RefStrings.MODID, "models/BombGeneric.obj"); + private IModelCustom bombModelC; + private ResourceLocation bombTexture; + + public RenderBombMulti() + { + bombModelC = AdvancedModelLoader.loadModel(bombModel); + bombTexture = new ResourceLocation(RefStrings.MODID, "textures/models/BombGeneric.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + switch(tileEntity.getBlockMetadata()) + { + case 5: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(bombTexture); + bombModelC.renderAll(); + + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/render/RenderBombMultiLarge.java b/com/hbm/render/RenderBombMultiLarge.java new file mode 100644 index 000000000..0e65b3553 --- /dev/null +++ b/com/hbm/render/RenderBombMultiLarge.java @@ -0,0 +1,47 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderBombMultiLarge extends TileEntitySpecialRenderer { + + private static final ResourceLocation bombModel = new ResourceLocation(RefStrings.MODID, "models/BombGenericLarge.obj"); + private IModelCustom bombModelC; + private ResourceLocation bombTexture; + + public RenderBombMultiLarge() + { + bombModelC = AdvancedModelLoader.loadModel(bombModel); + bombTexture = new ResourceLocation(RefStrings.MODID, "textures/models/BombGenericLargeLayout.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + switch(tileEntity.getBlockMetadata()) + { + case 5: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(bombTexture); + bombModelC.renderAll(); + + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/render/RenderCentrifuge.java b/com/hbm/render/RenderCentrifuge.java new file mode 100644 index 000000000..caaa87aca --- /dev/null +++ b/com/hbm/render/RenderCentrifuge.java @@ -0,0 +1,47 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderCentrifuge extends TileEntitySpecialRenderer { + + private static final ResourceLocation centrifugeModel = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/centrifuge.obj"); + private IModelCustom centrifugeModelC; + private ResourceLocation centrifugeTexture; + + public RenderCentrifuge() + { + centrifugeModelC = AdvancedModelLoader.loadModel(centrifugeModel); + centrifugeTexture = new ResourceLocation(RefStrings.MODID, "textures/models/centrifuge.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + switch(tileEntity.getBlockMetadata()) + { + case 4: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(centrifugeTexture); + centrifugeModelC.renderAll(); + + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/render/RenderDecoBlock.java b/com/hbm/render/RenderDecoBlock.java new file mode 100644 index 000000000..56dd989e2 --- /dev/null +++ b/com/hbm/render/RenderDecoBlock.java @@ -0,0 +1,109 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class RenderDecoBlock extends TileEntitySpecialRenderer { + + private static final ResourceLocation texture1 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/SteelWall.png"); + private static final ResourceLocation texture2 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/SteelCorner.png"); + private static final ResourceLocation texture3 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/SteelRoof.png"); + private static final ResourceLocation texture4 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/SteelBeam.png"); + private static final ResourceLocation texture5 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/SteelScaffold.png"); + + private ModelSteelWall model1; + private ModelSteelCorner model2; + private ModelSteelRoof model3; + private ModelSteelBeam model4; + private ModelSteelScaffold model5; + + public RenderDecoBlock() { + this.model1 = new ModelSteelWall(); + this.model2 = new ModelSteelCorner(); + this.model3 = new ModelSteelRoof(); + this.model4 = new ModelSteelBeam(); + this.model5 = new ModelSteelScaffold(); + } + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + + if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_wall) + { + this.bindTexture(texture1); + switch(tileentity.getBlockMetadata()) + { + case 4: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + } + if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_corner) + { + this.bindTexture(texture2); + switch(tileentity.getBlockMetadata()) + { + case 4: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + } + if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_roof) + { + this.bindTexture(texture3); + } + if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_beam) + { + this.bindTexture(texture4); + } + if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_scaffold) + { + this.bindTexture(texture5); + switch(tileentity.getBlockMetadata()) + { + case 4: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(0, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + } + + GL11.glPushMatrix(); + if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_wall) + this.model1.renderModel(0.0625F); + if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_corner) + this.model2.renderModel(0.0625F); + if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_roof) + this.model3.renderModel(0.0625F); + if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_beam) + this.model4.renderModel(0.0625F); + if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_scaffold) + this.model5.renderModel(0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderDecoBlockAlt.java b/com/hbm/render/RenderDecoBlockAlt.java new file mode 100644 index 000000000..a7ff84ec2 --- /dev/null +++ b/com/hbm/render/RenderDecoBlockAlt.java @@ -0,0 +1,77 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityDecoBlockAltF; +import com.hbm.blocks.TileEntityDecoBlockAltG; +import com.hbm.blocks.TileEntityDecoBlockAltW; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class RenderDecoBlockAlt extends TileEntitySpecialRenderer { + +private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelStatue.png"); +private static final ResourceLocation gunTexture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelGun.png"); + + private ModelStatue model; + private ModelGun gun; + private RenderItem itemRenderer; + private RenderManager renderManager = RenderManager.instance; + + public RenderDecoBlockAlt() { + this.model = new ModelStatue(); + this.gun = new ModelGun(); + } + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + itemRenderer = new RenderDecoItem(this); + itemRenderer.setRenderManager(renderManager); + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + switch(tileentity.getBlockMetadata()) + { + case 4: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + EntityItem watch = new EntityItem(null, 0.0D, 0.0D, 0.0D, new ItemStack(ModItems.watch)); + + this.bindTexture(texture); + this.itemRenderer.renderInFrame = true; + this.model.renderModel(0.0625F); + float g = 0.0625F; + float q = g * 2 + 0.0625F / 3; + GL11.glTranslatef(0.0F, -2 * g, q); + GL11.glRotatef(180, 0F, 0F, 1F); + if(tileentity instanceof TileEntityDecoBlockAltW || tileentity instanceof TileEntityDecoBlockAltF) + this.itemRenderer.doRender(watch, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); + this.itemRenderer.renderInFrame = false; + + GL11.glTranslatef(0.0F, 2 * g, -q); + GL11.glRotatef(180, 0F, 0F, 1F); + GL11.glRotatef(90, 0F, 1F, 0F); + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glTranslatef(-g * 20, g * 4, g * 11); + GL11.glRotatef(-20, 0F, 0F, 1F); + this.bindTexture(gunTexture); + if(tileentity instanceof TileEntityDecoBlockAltG || tileentity instanceof TileEntityDecoBlockAltF) + this.gun.renderModel(0.0625F); + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/render/RenderDecoItem.java b/com/hbm/render/RenderDecoItem.java new file mode 100644 index 000000000..e0695884f --- /dev/null +++ b/com/hbm/render/RenderDecoItem.java @@ -0,0 +1,28 @@ +package com.hbm.render; + +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.item.ItemStack; + + public class RenderDecoItem extends RenderItem { + RenderDecoItem(RenderDecoBlockAlt render) {} + + public byte getMiniBlockCount(ItemStack stack, byte original) + { + return 1; + } + + public byte getMiniItemCount(ItemStack stack, byte original) + { + return 1; + } + + public boolean shouldBob() + { + return false; + } + + public boolean shouldSpreadItems() + { + return false; + } +} diff --git a/com/hbm/render/RenderFlare.java b/com/hbm/render/RenderFlare.java new file mode 100644 index 000000000..7f2454cf1 --- /dev/null +++ b/com/hbm/render/RenderFlare.java @@ -0,0 +1,86 @@ +package com.hbm.render; + +import java.util.Random; + +import org.lwjgl.opengl.GL11; + +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; + +public class RenderFlare extends Render { + + @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_) { + + Tessellator tessellator = Tessellator.instance; + RenderHelper.disableStandardItemLighting(); + float f1 = ((float)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_, (float)p_76986_6_); + + //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 * (double)f4, (double)f3, (double)(-0.5F * f4)); + tessellator.addVertex(0.866D * (double)f4, (double)f3, (double)(-0.5F * f4)); + tessellator.addVertex(0.0D, (double)f3, (double)(1.0F * f4)); + tessellator.addVertex(-0.866D * (double)f4, (double)f3, (double)(-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/render/RenderLaunchPadTier1.java b/com/hbm/render/RenderLaunchPadTier1.java new file mode 100644 index 000000000..ccf24f698 --- /dev/null +++ b/com/hbm/render/RenderLaunchPadTier1.java @@ -0,0 +1,188 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityLaunchPad; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/LaunchPad.obj"); + private static final ResourceLocation missileGenericModel = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/MissileV2.obj"); + private static final ResourceLocation missileStrongModel = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/MissileGeneric.obj"); + private static final ResourceLocation missileHugeModel = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/MissileHuge.obj"); + private static final ResourceLocation missileNuclearModel = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/MissileNuke.obj"); + private static final ResourceLocation missileMirvModel = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/MissileMirv.obj"); + private static final ResourceLocation missileThermoModel = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/MissileThermal.obj"); + private IModelCustom padModel; + private IModelCustom missileGeneric; + private IModelCustom missileStrong; + private IModelCustom missileHuge; + private IModelCustom missileNuclear; + private IModelCustom missileMirv; + private IModelCustom missileThermo; + private ResourceLocation padTexture; + private ResourceLocation missileGenericTexture; + private ResourceLocation missileIncendiaryTexture; + private ResourceLocation missileClusterTexture; + private ResourceLocation missileBusterTexture; + private ResourceLocation missileStrongTexture; + private ResourceLocation missileHugeTexture; + private ResourceLocation missileNuclearTexture; + private ResourceLocation missileMirvTexture; + private ResourceLocation missileThermoTexture; + + public RenderLaunchPadTier1() + { + padModel = AdvancedModelLoader.loadModel(objTesterModelRL); + missileGeneric = AdvancedModelLoader.loadModel(missileGenericModel); + missileStrong = AdvancedModelLoader.loadModel(missileStrongModel); + missileHuge = AdvancedModelLoader.loadModel(missileHugeModel); + missileNuclear = AdvancedModelLoader.loadModel(missileNuclearModel); + missileMirv = AdvancedModelLoader.loadModel(missileMirvModel); + missileThermo = AdvancedModelLoader.loadModel(missileThermoModel); + padTexture = new ResourceLocation(RefStrings.MODID, "textures/models/LaunchPad.png"); + missileGenericTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileV2.png"); + missileIncendiaryTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileIncendiary.png"); + missileClusterTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileCluster.png"); + missileBusterTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileBuster.png"); + missileStrongTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileGeneric.png"); + missileHugeTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileHuge.png"); + missileNuclearTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileNuke.png"); + missileMirvTexture = new ResourceLocation(RefStrings.MODID, "textures/models/missileMirv.png"); + missileThermoTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileThermal.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + switch(tileEntity.getBlockMetadata()) + { + case 5: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(padTexture); + padModel.renderAll(); + + //if(((TileEntityLaunchPad)tileEntity).getThatWorld().isRemote) + { + GL11.glTranslated(0, 0.5, 0); + + if(((TileEntityLaunchPad)tileEntity).state == 1) + { + GL11.glScalef(1.0F, 1.0F, 1.0F); + bindTexture(missileGenericTexture); + missileGeneric.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 2) + { + GL11.glScalef(1.5F, 1.5F, 1.5F); + bindTexture(missileStrongTexture); + missileStrong.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 3) + { + GL11.glScalef(1.0F, 1.0F, 1.0F); + bindTexture(missileClusterTexture); + missileGeneric.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 4) + { + GL11.glScalef(1.5F, 1.5F, 1.5F); + bindTexture(missileNuclearTexture); + missileNuclear.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 5) + { + GL11.glScalef(1.0F, 1.0F, 1.0F); + bindTexture(missileIncendiaryTexture); + missileGeneric.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 6) + { + GL11.glScalef(1.0F, 1.0F, 1.0F); + bindTexture(missileBusterTexture); + missileGeneric.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 7) + { + GL11.glScalef(1.5F, 1.5F, 1.5F); + bindTexture(missileStrongTexture); + missileStrong.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 8) + { + GL11.glScalef(1.5F, 1.5F, 1.5F); + bindTexture(missileStrongTexture); + missileStrong.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 9) + { + GL11.glScalef(1.5F, 1.5F, 1.5F); + bindTexture(missileStrongTexture); + missileStrong.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 10) + { + GL11.glScalef(2.0F, 2.0F, 2.0F); + bindTexture(missileHugeTexture); + missileHuge.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 11) + { + GL11.glScalef(2.0F, 2.0F, 2.0F); + bindTexture(missileHugeTexture); + missileHuge.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 12) + { + GL11.glScalef(2.0F, 2.0F, 2.0F); + bindTexture(missileHugeTexture); + missileHuge.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 13) + { + GL11.glScalef(2.0F, 2.0F, 2.0F); + bindTexture(missileHugeTexture); + missileHuge.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 14) + { + GL11.glScalef(1.0F, 1.0F, 1.0F); + bindTexture(missileThermoTexture); + missileThermo.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 15) + { + GL11.glScalef(1.0F, 1.0F, 1.0F); + bindTexture(missileThermoTexture); + missileThermo.renderAll(); + } + if(((TileEntityLaunchPad)tileEntity).state == 16) + { + GL11.glScalef(1.0F, 1.0F, 1.0F); + bindTexture(missileMirvTexture); + missileMirv.renderAll(); + } + } + + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderMirv.java b/com/hbm/render/RenderMirv.java new file mode 100644 index 000000000..fc8da1fb2 --- /dev/null +++ b/com/hbm/render/RenderMirv.java @@ -0,0 +1,41 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderMirv extends Render { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Mirv.obj"); + private IModelCustom boyModel; + private ResourceLocation boyTexture; + + public RenderMirv() { + boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Mirv.png"); + } + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + + bindTexture(boyTexture); + boyModel.renderAll(); + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return new ResourceLocation(RefStrings.MODID +":textures/models/Mirv.png"); + } +} diff --git a/com/hbm/render/RenderMissileGeneric.java b/com/hbm/render/RenderMissileGeneric.java new file mode 100644 index 000000000..a390ffd9b --- /dev/null +++ b/com/hbm/render/RenderMissileGeneric.java @@ -0,0 +1,59 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.EntityMissileBunkerBuster; +import com.hbm.entity.EntityMissileCluster; +import com.hbm.entity.EntityMissileGeneric; +import com.hbm.entity.EntityMissileIncendiary; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderMissileGeneric extends Render { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/MissileV2.obj"); + private IModelCustom boyModel; + private ResourceLocation boyTexture; + private ResourceLocation missileIncendiaryTexture; + private ResourceLocation missileClusterTexture; + private ResourceLocation missileBusterTexture; + + public RenderMissileGeneric() { + boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileV2.png"); + missileIncendiaryTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileIncendiary.png"); + missileClusterTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileCluster.png"); + missileBusterTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileBuster.png"); + } + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + + if(p_76986_1_ instanceof EntityMissileGeneric) + bindTexture(boyTexture); + if(p_76986_1_ instanceof EntityMissileIncendiary) + bindTexture(missileIncendiaryTexture); + if(p_76986_1_ instanceof EntityMissileCluster) + bindTexture(missileClusterTexture); + if(p_76986_1_ instanceof EntityMissileBunkerBuster) + bindTexture(missileBusterTexture); + boyModel.renderAll(); + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return new ResourceLocation(RefStrings.MODID +":textures/models/MissileV2.png"); + } + +} diff --git a/com/hbm/render/RenderMissileHuge.java b/com/hbm/render/RenderMissileHuge.java new file mode 100644 index 000000000..ff8a74b37 --- /dev/null +++ b/com/hbm/render/RenderMissileHuge.java @@ -0,0 +1,42 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderMissileHuge extends Render { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/MissileHuge.obj"); + private IModelCustom boyModel; + private ResourceLocation boyTexture; + + public RenderMissileHuge() { + boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileHuge.png"); + } + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glScalef(2F, 2F, 2F); + GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + + bindTexture(boyTexture); + boyModel.renderAll(); + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return new ResourceLocation(RefStrings.MODID +":textures/models/MissileHuge.png"); + } +} diff --git a/com/hbm/render/RenderMissileMirv.java b/com/hbm/render/RenderMissileMirv.java new file mode 100644 index 000000000..509636cb4 --- /dev/null +++ b/com/hbm/render/RenderMissileMirv.java @@ -0,0 +1,41 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderMissileMirv extends Render { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/MissileMirv.obj"); + private IModelCustom boyModel; + private ResourceLocation boyTexture; + + public RenderMissileMirv() { + boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileMirv.png"); + } + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + + bindTexture(boyTexture); + boyModel.renderAll(); + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return new ResourceLocation(RefStrings.MODID +":textures/models/MissileMirv.png"); + } +} diff --git a/com/hbm/render/RenderMissileNuclear.java b/com/hbm/render/RenderMissileNuclear.java new file mode 100644 index 000000000..5e6b386e2 --- /dev/null +++ b/com/hbm/render/RenderMissileNuclear.java @@ -0,0 +1,42 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderMissileNuclear extends Render { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/MissileNuke.obj"); + private IModelCustom boyModel; + private ResourceLocation boyTexture; + + public RenderMissileNuclear() { + boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileNuke.png"); + } + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + + bindTexture(boyTexture); + boyModel.renderAll(); + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return new ResourceLocation(RefStrings.MODID +":textures/models/MissileNuke.png"); + } + +} diff --git a/com/hbm/render/RenderMissileStrong.java b/com/hbm/render/RenderMissileStrong.java new file mode 100644 index 000000000..a5f260f52 --- /dev/null +++ b/com/hbm/render/RenderMissileStrong.java @@ -0,0 +1,43 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderMissileStrong extends Render { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/MissileGeneric.obj"); + private IModelCustom boyModel; + private ResourceLocation boyTexture; + + public RenderMissileStrong() { + boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileGeneric.png"); + } + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glScalef(1.5F, 1.5F, 1.5F); + GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + + bindTexture(boyTexture); + boyModel.renderAll(); + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return new ResourceLocation(RefStrings.MODID +":textures/models/MissileGeneric.png"); + } + +} diff --git a/com/hbm/render/RenderMissileThermo.java b/com/hbm/render/RenderMissileThermo.java new file mode 100644 index 000000000..675cabf05 --- /dev/null +++ b/com/hbm/render/RenderMissileThermo.java @@ -0,0 +1,43 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderMissileThermo extends Render { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/MissileThermal.obj"); + private IModelCustom boyModel; + private ResourceLocation boyTexture; + + public RenderMissileThermo() { + boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileThermal.png"); + } + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glScalef(2F, 2F, 2F); + GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + + bindTexture(boyTexture); + boyModel.renderAll(); + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return new ResourceLocation(RefStrings.MODID +":textures/models/MissileThermal.png"); + } + +} diff --git a/com/hbm/render/RenderNuclearCreeper.java b/com/hbm/render/RenderNuclearCreeper.java new file mode 100644 index 000000000..3e8f179a1 --- /dev/null +++ b/com/hbm/render/RenderNuclearCreeper.java @@ -0,0 +1,187 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.EntityNuclearCreeper; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelCreeper; +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; + +public class RenderNuclearCreeper extends RenderLiving +{ + private static final ResourceLocation armoredCreeperTextures = new ResourceLocation(RefStrings.MODID + ":" + "textures/entity/creeper_armor.png"); + private static final ResourceLocation creeperTextures = new ResourceLocation(RefStrings.MODID + ":" + "textures/entity/creeper.png"); + /** The creeper model. */ + private ModelBase creeperModel = new ModelCreeper(2.0F); + private static final String __OBFID = "CL_00000985"; + + public RenderNuclearCreeper() + { + super(new ModelCreeper(), 0.5F); + } + + /** + * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: + * entityLiving, partialTickTime + */ + protected void preRenderCallback(EntityNuclearCreeper p_77041_1_, float p_77041_2_) + { + float f1 = p_77041_1_.getCreeperFlashIntensity(p_77041_2_); + float f2 = 1.0F + MathHelper.sin(f1 * 100.0F) * f1 * 0.01F; + + if (f1 < 0.0F) + { + f1 = 0.0F; + } + + if (f1 > 1.0F) + { + f1 = 1.0F; + } + + f1 *= f1; + f1 *= f1; + float f3 = (1.0F + f1 * 0.4F) * f2; + float f4 = (1.0F + f1 * 0.1F) / f2; + GL11.glScalef(f3, f4, f3); + } + + /** + * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime + */ + protected int getColorMultiplier(EntityNuclearCreeper p_77030_1_, float p_77030_2_, float p_77030_3_) + { + float f2 = p_77030_1_.getCreeperFlashIntensity(p_77030_3_); + + if ((int)(f2 * 10.0F) % 2 == 0) + { + return 0; + } + else + { + int i = (int)(f2 * 0.2F * 255.0F); + + if (i < 0) + { + i = 0; + } + + if (i > 255) + { + i = 255; + } + + short short1 = 255; + short short2 = 255; + short short3 = 255; + return i << 24 | short1 << 16 | short2 << 8 | short3; + } + } + + /** + * Queries whether should render the specified pass or not. + */ + protected int shouldRenderPass(EntityNuclearCreeper p_77032_1_, int p_77032_2_, float p_77032_3_) + { + if (p_77032_1_.getPowered()) + { + if (p_77032_1_.isInvisible()) + { + GL11.glDepthMask(false); + } + else + { + GL11.glDepthMask(true); + } + + if (p_77032_2_ == 1) + { + float f1 = (float)p_77032_1_.ticksExisted + p_77032_3_; + this.bindTexture(armoredCreeperTextures); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + float f2 = f1 * 0.01F; + float f3 = f1 * 0.01F; + GL11.glTranslatef(f2, f3, 0.0F); + this.setRenderPassModel(this.creeperModel); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glEnable(GL11.GL_BLEND); + float f4 = 0.5F; + GL11.glColor4f(f4, f4, f4, 1.0F); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); + return 1; + } + + if (p_77032_2_ == 2) + { + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + } + } + + return -1; + } + + protected int inheritRenderPass(EntityNuclearCreeper p_77035_1_, int p_77035_2_, float p_77035_3_) + { + return -1; + } + + /** + * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. + */ + protected ResourceLocation getEntityTexture(EntityNuclearCreeper p_110775_1_) + { + return creeperTextures; + } + + /** + * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: + * entityLiving, partialTickTime + */ + protected void preRenderCallback(EntityLivingBase p_77041_1_, float p_77041_2_) + { + this.preRenderCallback((EntityNuclearCreeper)p_77041_1_, p_77041_2_); + } + + /** + * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime + */ + protected int getColorMultiplier(EntityLivingBase p_77030_1_, float p_77030_2_, float p_77030_3_) + { + return this.getColorMultiplier((EntityNuclearCreeper)p_77030_1_, p_77030_2_, p_77030_3_); + } + + /** + * Queries whether should render the specified pass or not. + */ + protected int shouldRenderPass(EntityLivingBase p_77032_1_, int p_77032_2_, float p_77032_3_) + { + return this.shouldRenderPass((EntityNuclearCreeper)p_77032_1_, p_77032_2_, p_77032_3_); + } + + protected int inheritRenderPass(EntityLivingBase p_77035_1_, int p_77035_2_, float p_77035_3_) + { + return this.inheritRenderPass((EntityNuclearCreeper)p_77035_1_, p_77035_2_, p_77035_3_); + } + + /** + * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. + */ + protected ResourceLocation getEntityTexture(Entity p_110775_1_) + { + return this.getEntityTexture((EntityNuclearCreeper)p_110775_1_); + } +} diff --git a/com/hbm/render/RenderNukeBoy.java b/com/hbm/render/RenderNukeBoy.java new file mode 100644 index 000000000..783e9a07d --- /dev/null +++ b/com/hbm/render/RenderNukeBoy.java @@ -0,0 +1,52 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderNukeBoy extends TileEntitySpecialRenderer { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/LilBoy1.obj"); + private IModelCustom boyModel; + private ResourceLocation boyTexture; + + public RenderNukeBoy() + { + boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/LilBoy2.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + switch(tileEntity.getBlockMetadata()) + { + case 2: + GL11.glRotatef(90, 0F, 1F, 0F); + GL11.glTranslated(-2.0D, 0.0D, 0.0D); break; + case 4: + GL11.glRotatef(180, 0F, 1F, 0F); + GL11.glTranslated(-2.0D, 0.0D, 0.0D); break; + case 3: + GL11.glRotatef(270, 0F, 1F, 0F); + GL11.glTranslated(-2.0D, 0.0D, 0.0D); break; + case 5: + GL11.glRotatef(0, 0F, 1F, 0F); + GL11.glTranslated(-2.0D, 0.0D, 0.0D); break; + } + + bindTexture(boyTexture); + boyModel.renderAll(); + + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderNukeFleija.java b/com/hbm/render/RenderNukeFleija.java new file mode 100644 index 000000000..470d6a243 --- /dev/null +++ b/com/hbm/render/RenderNukeFleija.java @@ -0,0 +1,50 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderNukeFleija extends TileEntitySpecialRenderer { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Fleija.obj"); + //private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Prototype.obj"); + private IModelCustom manModel; + private ResourceLocation manTexture; + + public RenderNukeFleija() + { + manModel = AdvancedModelLoader.loadModel(objTesterModelRL); + manTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Fleija.png"); + //manTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Prototype.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + switch(tileEntity.getBlockMetadata()) + { + case 5: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(manTexture); + manModel.renderAll(); + + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderNukeGadget.java b/com/hbm/render/RenderNukeGadget.java new file mode 100644 index 000000000..2be40b217 --- /dev/null +++ b/com/hbm/render/RenderNukeGadget.java @@ -0,0 +1,49 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderNukeGadget extends TileEntitySpecialRenderer { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/TheGadget3.obj"); + private IModelCustom gadgetModel; + private ResourceLocation gadgetTexture; + + public RenderNukeGadget() + { + gadgetModel = AdvancedModelLoader.loadModel(objTesterModelRL); + gadgetTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + switch(tileEntity.getBlockMetadata()) + { + case 2: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(gadgetTexture); + gadgetModel.renderAll(); + + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderNukeMan.java b/com/hbm/render/RenderNukeMan.java new file mode 100644 index 000000000..bde25be25 --- /dev/null +++ b/com/hbm/render/RenderNukeMan.java @@ -0,0 +1,48 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderNukeMan extends TileEntitySpecialRenderer { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/FatMan.obj"); + private IModelCustom manModel; + private ResourceLocation manTexture; + + public RenderNukeMan() + { + manModel = AdvancedModelLoader.loadModel(objTesterModelRL); + manTexture = new ResourceLocation(RefStrings.MODID, "textures/models/FatMan.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + switch(tileEntity.getBlockMetadata()) + { + case 3: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(manTexture); + manModel.renderAll(); + + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderNukeMike.java b/com/hbm/render/RenderNukeMike.java new file mode 100644 index 000000000..304a0e221 --- /dev/null +++ b/com/hbm/render/RenderNukeMike.java @@ -0,0 +1,49 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderNukeMike extends TileEntitySpecialRenderer { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/IvyMike.obj"); + private IModelCustom mikeModel; + private ResourceLocation mikeTexture; + + public RenderNukeMike() + { + mikeModel = AdvancedModelLoader.loadModel(objTesterModelRL); + mikeTexture = new ResourceLocation(RefStrings.MODID, "textures/models/IvyMike.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + switch(tileEntity.getBlockMetadata()) + { + case 3: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(mikeTexture); + mikeModel.renderAll(); + + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderNukePrototype.java b/com/hbm/render/RenderNukePrototype.java new file mode 100644 index 000000000..9b156469c --- /dev/null +++ b/com/hbm/render/RenderNukePrototype.java @@ -0,0 +1,49 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderNukePrototype extends TileEntitySpecialRenderer { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Prototype.obj"); + private IModelCustom tsarModel; + private ResourceLocation tsarTexture; + + public RenderNukePrototype() + { + tsarModel = AdvancedModelLoader.loadModel(objTesterModelRL); + tsarTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Prototype.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + switch(tileEntity.getBlockMetadata()) + { + case 5: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(tsarTexture); + tsarModel.renderAll(); + + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderNukeTsar.java b/com/hbm/render/RenderNukeTsar.java new file mode 100644 index 000000000..1c1960fd9 --- /dev/null +++ b/com/hbm/render/RenderNukeTsar.java @@ -0,0 +1,49 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderNukeTsar extends TileEntitySpecialRenderer { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/TsarBomba.obj"); + private IModelCustom tsarModel; + private ResourceLocation tsarTexture; + + public RenderNukeTsar() + { + tsarModel = AdvancedModelLoader.loadModel(objTesterModelRL); + tsarTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TsarBomba.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + switch(tileEntity.getBlockMetadata()) + { + case 2: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(tsarTexture); + tsarModel.renderAll(); + + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderPoleSatelliteReceiver.java b/com/hbm/render/RenderPoleSatelliteReceiver.java new file mode 100644 index 000000000..b53fd3136 --- /dev/null +++ b/com/hbm/render/RenderPoleSatelliteReceiver.java @@ -0,0 +1,47 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class RenderPoleSatelliteReceiver extends TileEntitySpecialRenderer { + + private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/PoleSatelliteReceiver.png"); + + private ModelSatelliteReceiver model; + + public RenderPoleSatelliteReceiver() { + this.model = new ModelSatelliteReceiver(); + } + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + + switch(tileentity.getBlockMetadata()) + { + case 5: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + this.bindTexture(texture); + + GL11.glPushMatrix(); + this.model.renderModel(0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderPoleTop.java b/com/hbm/render/RenderPoleTop.java new file mode 100644 index 000000000..c3a2abf09 --- /dev/null +++ b/com/hbm/render/RenderPoleTop.java @@ -0,0 +1,35 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class RenderPoleTop extends TileEntitySpecialRenderer { + + private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/PoleTop.png"); + + private ModelPoleTop model; + + public RenderPoleTop() { + this.model = new ModelPoleTop(); + } + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + + this.bindTexture(texture); + + GL11.glPushMatrix(); + this.model.renderModel(0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderPuF6Tank.java b/com/hbm/render/RenderPuF6Tank.java new file mode 100644 index 000000000..e744b9803 --- /dev/null +++ b/com/hbm/render/RenderPuF6Tank.java @@ -0,0 +1,47 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderPuF6Tank extends TileEntitySpecialRenderer { + + private static final ResourceLocation tankModel = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/tank.obj"); + private IModelCustom tankModelC; + private ResourceLocation tankTexture; + + public RenderPuF6Tank() + { + tankModelC = AdvancedModelLoader.loadModel(tankModel); + tankTexture = new ResourceLocation(RefStrings.MODID, "textures/models/PUF6Tank.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + switch(tileEntity.getBlockMetadata()) + { + case 4: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(tankTexture); + tankModelC.renderAll(); + + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/render/RenderRedBarrel.java b/com/hbm/render/RenderRedBarrel.java new file mode 100644 index 000000000..32ac94b88 --- /dev/null +++ b/com/hbm/render/RenderRedBarrel.java @@ -0,0 +1,35 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class RenderRedBarrel extends TileEntitySpecialRenderer { + + private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelRedBarrel.png"); + + private ModelTestRender model; + + public RenderRedBarrel() { + this.model = new ModelTestRender(); + } + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + + this.bindTexture(texture); + + GL11.glPushMatrix(); + this.model.renderModel(0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderRocket.java b/com/hbm/render/RenderRocket.java new file mode 100644 index 000000000..73c9c135e --- /dev/null +++ b/com/hbm/render/RenderRocket.java @@ -0,0 +1,54 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; + +import com.hbm.entity.EntityRocket; +import com.hbm.lib.RefStrings; + +@SideOnly(Side.CLIENT) +public class RenderRocket extends Render { + + + private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelRocket.png"); + ModelRocket md; + + public RenderRocket() + { + this.md = new ModelRocket(); + } + + @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_) { + } + + public void render(Entity rocket, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + GL11.glEnable(2896); + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glRotatef(rocket.prevRotationYaw + (rocket.rotationYaw - rocket.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(rocket.prevRotationPitch + (rocket.rotationPitch - rocket.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + this.md.render(rocket, p_76986_9_, p_76986_9_, p_76986_9_, p_76986_9_, p_76986_9_, p_76986_9_); + GL11.glPopMatrix(); + } + + protected ResourceLocation getEntityTexture(EntityRocket p_110775_1_) { + return texture; + } + + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return this.getEntityTexture((EntityRocket) p_110775_1_); + } + +} \ No newline at end of file diff --git a/com/hbm/render/RenderRotationTester.java b/com/hbm/render/RenderRotationTester.java new file mode 100644 index 000000000..bb409598c --- /dev/null +++ b/com/hbm/render/RenderRotationTester.java @@ -0,0 +1,47 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityRotationTester; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class RenderRotationTester extends TileEntitySpecialRenderer { + +private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/blocks/test_container.png"); + + private ModelRotationTester model; + + public RenderRotationTester() { + this.model = new ModelRotationTester(); + } + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + switch(tileentity.getBlockMetadata()) + { + case 5: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + this.bindTexture(texture); + + GL11.glPushMatrix(); + this.model.renderModel(0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderSmallNuke.java b/com/hbm/render/RenderSmallNuke.java new file mode 100644 index 000000000..35eb3747a --- /dev/null +++ b/com/hbm/render/RenderSmallNuke.java @@ -0,0 +1,104 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.EntityNukeCloudSmall; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderSmallNuke 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 float color = 0; + public int alpha = 0; + + public RenderSmallNuke() { + 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; + color = 0; + alpha = 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_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glScalef(4.0F, 4.0F, 4.0F); + if(scale < 1) + scale += 0.01F; + { + GL11.glScalef(scale, scale, scale); + } + + if(((EntityNukeCloudSmall)p_76986_1_).age > ((EntityNukeCloudSmall)p_76986_1_).maxAge - 150) + { + if(color < 0.75) + color += 0.005; + } + + GL11.glColor4f(1.0f - color, 1.0f - color, 1.0f - color, 1.0F - alpha); + + //GL11.glTranslatef(0.0F, -2.5F, 0.0F); + //GL11.glTranslatef(0.0F, 11F, 0.0F); + + bindTexture(blastTexture); + blastModel.renderAll(); + + GL11.glTranslatef(0, 15F, 0); + GL11.glScalef(20.0F, 5.0F, 20.0F); + + bindTexture(ringBigTexture); + ringBigModel.renderAll(); + + GL11.glScalef(1/scale, 1/scale, 1/scale); + GL11.glTranslatef(0, -4.75F, 0); + //GL11.glScalef(1/20.0F, 1/5.0F, 1/20.0F); + ring += 0.1F; + { + GL11.glScalef(ring, 5, ring); + } + + GL11.glTranslatef(0, 1F, 0); + bindTexture(ringTexture); + ringModel.renderAll(); + + GL11.glPopMatrix(); + + if(((EntityNukeCloudSmall)p_76986_1_).age >= ((EntityNukeCloudSmall)p_76986_1_).maxAge - 1) + { + scale = 0; + ring = 0; + color = 0; + } + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return null; + } + +} diff --git a/com/hbm/render/RenderSmallNukeAlt.java b/com/hbm/render/RenderSmallNukeAlt.java new file mode 100644 index 000000000..b6641f447 --- /dev/null +++ b/com/hbm/render/RenderSmallNukeAlt.java @@ -0,0 +1,177 @@ +package com.hbm.render; + +import java.util.Random; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.EntityNukeCloudSmall; +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 RenderSmallNukeAlt 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 RenderSmallNukeAlt() { + 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(((EntityNukeCloudSmall)p_76986_1_).age > 100) + { + this.renderMush((EntityNukeCloudSmall)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + this.renderCloud((EntityNukeCloudSmall)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } else { + this.renderFlare((EntityNukeCloudSmall)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + this.renderRing((EntityNukeCloudSmall)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + + public void renderMush(EntityNukeCloudSmall 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); + if(p_76986_1_.age < 150) + { + GL11.glTranslatef(0.0F, -60F + ((p_76986_1_.age - 100) * 60 / 50), 0.0F); + } + GL11.glScalef(4.0F, 4.0F, 4.0F); + + bindTexture(blastTexture); + blastModel.renderAll(); + GL11.glPopMatrix(); + } + + public void renderCloud(EntityNukeCloudSmall 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, 60F, 0.0F); + if(scale < 1.5) + { + scale += 0.02; + } + GL11.glScalef(scale, 1.0F, scale); + GL11.glScalef(50F, 25.0F, 50F); + + bindTexture(ringBigTexture); + ringBigModel.renderAll(); + GL11.glPopMatrix(); + } + + public void renderRing(EntityNukeCloudSmall 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(ring * 10, 30F, ring * 10); + + bindTexture(ringTexture); + ringModel.renderAll(); + GL11.glPopMatrix(); + } + + public void renderFlare(EntityNukeCloudSmall 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 = ((float)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 * (double)f4, (double)f3, (double)(-0.5F * f4)); + tessellator.addVertex(0.866D * (double)f4, (double)f3, (double)(-0.5F * f4)); + tessellator.addVertex(0.0D, (double)f3, (double)(1.0F * f4)); + tessellator.addVertex(-0.866D * (double)f4, (double)f3, (double)(-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/render/RenderSteelPoles.java b/com/hbm/render/RenderSteelPoles.java new file mode 100644 index 000000000..8fa9a6c2e --- /dev/null +++ b/com/hbm/render/RenderSteelPoles.java @@ -0,0 +1,47 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class RenderSteelPoles extends TileEntitySpecialRenderer { + + private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/Poles.png"); + + private ModelPoles model; + + public RenderSteelPoles() { + this.model = new ModelPoles(); + } + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + + switch(tileentity.getBlockMetadata()) + { + case 4: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + this.bindTexture(texture); + + GL11.glPushMatrix(); + this.model.renderModel(0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderTapeRecorder.java b/com/hbm/render/RenderTapeRecorder.java new file mode 100644 index 000000000..89dfd9b37 --- /dev/null +++ b/com/hbm/render/RenderTapeRecorder.java @@ -0,0 +1,49 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityDecoTapeRecorder; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class RenderTapeRecorder extends TileEntitySpecialRenderer { + + private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelTapeRecorder.png"); + + private ModelTapeRecorder model; + private int i = 0; + + public RenderTapeRecorder() { + this.model = new ModelTapeRecorder(); + } + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + + switch(tileentity.getBlockMetadata()) + { + case 5: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + this.bindTexture(texture); + + GL11.glPushMatrix(); + this.model.renderModel(0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderTestBombAdvanced.java b/com/hbm/render/RenderTestBombAdvanced.java new file mode 100644 index 000000000..87bd7c29c --- /dev/null +++ b/com/hbm/render/RenderTestBombAdvanced.java @@ -0,0 +1,35 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class RenderTestBombAdvanced extends TileEntitySpecialRenderer { + + private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/NukeTestBomb.png"); + + private ModelTestBombAdvanced modelBomb; + + public RenderTestBombAdvanced() { + this.modelBomb = new ModelTestBombAdvanced(); + } + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + + this.bindTexture(texture); + + GL11.glPushMatrix(); + this.modelBomb.renderModel(0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderTestContainer.java b/com/hbm/render/RenderTestContainer.java new file mode 100644 index 000000000..12a4c04e2 --- /dev/null +++ b/com/hbm/render/RenderTestContainer.java @@ -0,0 +1,166 @@ +package com.hbm.render; + +import cpw.mods.fml.common.FMLLog; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +import java.util.Calendar; + +import net.minecraft.block.Block; +import net.minecraft.client.model.ModelChest; +import net.minecraft.client.model.ModelLargeChest; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.hbm.blocks.TestContainer; +import com.hbm.blocks.TileEntityTestContainer; +import com.hbm.lib.RefStrings; + +@SideOnly(Side.CLIENT) +public class RenderTestContainer extends TileEntitySpecialRenderer +{ + private static final ResourceLocation field_147505_d = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/test_container_double.png"); + private static final ResourceLocation field_147504_g = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/test_container_single.png"); + private ModelChest field_147510_h = new ModelChest(); + private ModelChest field_147511_i = new ModelLargeChest(); + private boolean field_147509_j; + private static final String __OBFID = "CL_00000965"; + + public RenderTestContainer() + { + Calendar calendar = Calendar.getInstance(); + + if (calendar.get(2) + 1 == 12 && calendar.get(5) >= 24 && calendar.get(5) <= 26) + { + this.field_147509_j = true; + } + } + + public void renderTileEntityAt(TileEntityTestContainer p_147500_1_, double p_147500_2_, double p_147500_4_, double p_147500_6_, float p_147500_8_) + { + int i; + + if (!p_147500_1_.hasWorldObj()) + { + i = 0; + } + else + { + Block block = p_147500_1_.getBlockType(); + i = p_147500_1_.getBlockMetadata(); + + if (block instanceof TestContainer && i == 0) + { + try + { + ((TestContainer)block).func_149954_e(p_147500_1_.getWorldObj(), p_147500_1_.xCoord, p_147500_1_.yCoord, p_147500_1_.zCoord); + } + catch (ClassCastException e) + { + FMLLog.severe("Attempted to render a chest at %d, %d, %d that was not a chest", p_147500_1_.xCoord, p_147500_1_.yCoord, p_147500_1_.zCoord); + } + i = p_147500_1_.getBlockMetadata(); + } + + p_147500_1_.checkForAdjacentChests(); + } + + if (p_147500_1_.adjacentChestZNeg == null && p_147500_1_.adjacentChestXNeg == null) + { + ModelChest modelchest; + + if (p_147500_1_.adjacentChestXPos == null && p_147500_1_.adjacentChestZPos == null) + { + modelchest = this.field_147510_h; + + this.bindTexture(field_147504_g); + } + else + { + modelchest = this.field_147511_i; + + this.bindTexture(field_147505_d); + } + + GL11.glPushMatrix(); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glTranslatef((float)p_147500_2_, (float)p_147500_4_ + 1.0F, (float)p_147500_6_ + 1.0F); + GL11.glScalef(1.0F, -1.0F, -1.0F); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + short short1 = 0; + + if (i == 2) + { + short1 = 180; + } + + if (i == 3) + { + short1 = 0; + } + + if (i == 4) + { + short1 = 90; + } + + if (i == 5) + { + short1 = -90; + } + + if (i == 2 && p_147500_1_.adjacentChestXPos != null) + { + GL11.glTranslatef(1.0F, 0.0F, 0.0F); + } + + if (i == 5 && p_147500_1_.adjacentChestZPos != null) + { + GL11.glTranslatef(0.0F, 0.0F, -1.0F); + } + + GL11.glRotatef((float)short1, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + float f1 = p_147500_1_.prevLidAngle + (p_147500_1_.lidAngle - p_147500_1_.prevLidAngle) * p_147500_8_; + float f2; + + if (p_147500_1_.adjacentChestZNeg != null) + { + f2 = p_147500_1_.adjacentChestZNeg.prevLidAngle + (p_147500_1_.adjacentChestZNeg.lidAngle - p_147500_1_.adjacentChestZNeg.prevLidAngle) * p_147500_8_; + + if (f2 > f1) + { + f1 = f2; + } + } + + if (p_147500_1_.adjacentChestXNeg != null) + { + f2 = p_147500_1_.adjacentChestXNeg.prevLidAngle + (p_147500_1_.adjacentChestXNeg.lidAngle - p_147500_1_.adjacentChestXNeg.prevLidAngle) * p_147500_8_; + + if (f2 > f1) + { + f1 = f2; + } + } + + f1 = 1.0F - f1; + f1 = 1.0F - f1 * f1 * f1; + modelchest.chestLid.rotateAngleX = -(f1 * (float)Math.PI / 2.0F); + modelchest.renderAll(); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + } + } + + public void renderTileEntityAt(TileEntity p_147500_1_, double p_147500_2_, double p_147500_4_, double p_147500_6_, float p_147500_8_) + { + this.renderTileEntityAt((TileEntityTestContainer)p_147500_1_, p_147500_2_, p_147500_4_, p_147500_6_, p_147500_8_); + } +} \ No newline at end of file diff --git a/com/hbm/render/RenderTestMissile.java b/com/hbm/render/RenderTestMissile.java new file mode 100644 index 000000000..744a127a4 --- /dev/null +++ b/com/hbm/render/RenderTestMissile.java @@ -0,0 +1,46 @@ +package com.hbm.render; + +import java.util.Random; + +import org.lwjgl.opengl.GL11; + +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 RenderTestMissile extends Render { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Missile.obj"); + private IModelCustom boyModel; + private ResourceLocation boyTexture; + + public RenderTestMissile() { + boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Missile.png"); + } + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + + bindTexture(boyTexture); + boyModel.renderAll(); + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return new ResourceLocation(RefStrings.MODID +":textures/models/Missile.png"); + } + +} diff --git a/com/hbm/render/RenderTestRender.java b/com/hbm/render/RenderTestRender.java new file mode 100644 index 000000000..61d0dfa7d --- /dev/null +++ b/com/hbm/render/RenderTestRender.java @@ -0,0 +1,36 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityRotationTester; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class RenderTestRender extends TileEntitySpecialRenderer { + + private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelTestRender.png"); + + private ModelTestRender model; + + public RenderTestRender() { + this.model = new ModelTestRender(); + } + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + + this.bindTexture(texture); + + GL11.glPushMatrix(); + this.model.renderModel(0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/render/RenderUF6Tank.java b/com/hbm/render/RenderUF6Tank.java new file mode 100644 index 000000000..812962679 --- /dev/null +++ b/com/hbm/render/RenderUF6Tank.java @@ -0,0 +1,47 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderUF6Tank extends TileEntitySpecialRenderer { + + private static final ResourceLocation tankModel = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/tank.obj"); + private IModelCustom tankModelC; + private ResourceLocation tankTexture; + + public RenderUF6Tank() + { + tankModelC = AdvancedModelLoader.loadModel(tankModel); + tankTexture = new ResourceLocation(RefStrings.MODID, "textures/models/UF6Tank.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + switch(tileEntity.getBlockMetadata()) + { + case 4: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(tankTexture); + tankModelC.renderAll(); + + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/render/RenderYellowBarrel.java b/com/hbm/render/RenderYellowBarrel.java new file mode 100644 index 000000000..90b771501 --- /dev/null +++ b/com/hbm/render/RenderYellowBarrel.java @@ -0,0 +1,34 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class RenderYellowBarrel extends TileEntitySpecialRenderer { + + private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelYellowBarrel.png"); + + private ModelTestRender model; + + public RenderYellowBarrel() { + this.model = new ModelTestRender(); + } + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + + this.bindTexture(texture); + + GL11.glPushMatrix(); + this.model.renderModel(0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/render/RendererObjTester.java b/com/hbm/render/RendererObjTester.java new file mode 100644 index 000000000..857ab9e24 --- /dev/null +++ b/com/hbm/render/RendererObjTester.java @@ -0,0 +1,50 @@ +package com.hbm.render; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RendererObjTester extends TileEntitySpecialRenderer { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/TestObj.obj"); + //private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Prototype.obj"); + private IModelCustom objTesterModel; + private ResourceLocation objTesterTexture; + + public RendererObjTester() + { + objTesterModel = AdvancedModelLoader.loadModel(objTesterModelRL); + objTesterTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TestObj.png"); + //objTesterTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Prototype.png"); + } + + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y + 3, z + 0.5D); + GL11.glRotatef(180, 0F, 0F, 1F); + switch(tileEntity.getBlockMetadata()) + { + case 5: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: + GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(objTesterTexture); + objTesterModel.renderAll(); + + GL11.glPopMatrix(); + } + +} \ No newline at end of file diff --git a/com/hbm/world/Antenna.java b/com/hbm/world/Antenna.java new file mode 100644 index 000000000..40c066f8c --- /dev/null +++ b/com/hbm/world/Antenna.java @@ -0,0 +1,278 @@ +//Schematic to java Structure by jajo_11 | inspired by "MITHION'S .SCHEMATIC TO JAVA CONVERTINGTOOL" + +package com.hbm.world; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.HbmChestContents; +import com.hbm.main.MainRegistry; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +public class Antenna extends WorldGenerator +{ + protected Block[] GetValidSpawnBlocks() + { + return new Block[] + { + Blocks.grass, + Blocks.dirt, + Blocks.stone, + Blocks.sand, + }; + } + + public boolean LocationIsValidSpawn(World world, int x, int y, int z) + { + + Block checkBlock = world.getBlock(x, y - 1, z); + Block blockAbove = world.getBlock(x, y , z); + Block blockBelow = world.getBlock(x, y - 2, z); + + for (Block i : GetValidSpawnBlocks()) + { + if (blockAbove != Blocks.air) + { + return false; + } + if (checkBlock == i) + { + return true; + } + else if (checkBlock == Blocks.snow_layer && blockBelow == i) + { + return true; + } + else if (checkBlock.getMaterial() == Material.plants && blockBelow == i) + { + return true; + } + } + return false; + } + + public boolean generate(World world, Random rand, int x, int y, int z) + { + int i = rand.nextInt(1); + + if(i == 0) + { + generate_r0(world, rand, x, y, z); + } + + return true; + + } + + public boolean generate_r0(World world, Random rand, int x, int y, int z) + { + if(!LocationIsValidSpawn(world, x + 1, y, z + 1)) + { + return false; + } + + world.setBlock(x + 0, y + 0, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 0, z + 0, ModBlocks.steel_poles, 2, 3); + world.setBlock(x + 2, y + 0, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 0, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 1, y + 0, z + 1, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 0, z + 1, ModBlocks.tape_recorder, 5, 3); + world.setBlock(x + 0, y + 0, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 0, z + 2, ModBlocks.steel_poles, 3, 3); + world.setBlock(x + 2, y + 0, z + 2, Blocks.chest, 0, 3); + world.setBlockMetadataWithNotify(x + 2, y + 0, z + 2, 5, 3); + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(2), (TileEntityChest)world.getTileEntity(x + 2, y, z + 2), 8); + world.setBlock(x + 0, y + 1, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 1, z + 0, ModBlocks.steel_poles, 2, 3); + world.setBlock(x + 2, y + 1, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 1, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 1, y + 1, z + 1, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 1, z + 1, ModBlocks.tape_recorder, 5, 3); + world.setBlock(x + 0, y + 1, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 1, z + 2, ModBlocks.steel_poles, 3, 3); + world.setBlock(x + 2, y + 1, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 2, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 2, z + 0, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 2, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 2, z + 1, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 1, y + 2, z + 1, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 2, z + 1, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 0, y + 2, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 2, z + 2, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 2, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 3, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 3, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 3, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 3, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 3, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 3, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 3, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 3, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 3, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 4, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 4, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 4, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 4, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 4, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 4, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 4, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 5, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 5, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 5, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 5, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 5, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 5, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 5, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 6, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 6, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 6, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 6, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 6, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 6, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 6, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 7, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 7, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 7, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 7, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 7, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 7, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 7, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 7, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 7, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 8, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 8, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 8, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 8, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 8, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 8, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 8, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 1, ModBlocks.pole_satellite_receiver, 3, 3); + world.setBlock(x + 2, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 1, ModBlocks.pole_satellite_receiver, 2, 3); + world.setBlock(x + 2, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 1, ModBlocks.pole_satellite_receiver, 4, 3); + world.setBlock(x + 2, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 1, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 2, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 1, ModBlocks.pole_top, 4, 3); + world.setBlock(x + 2, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 2, Blocks.air, 0, 3); + if(MainRegistry.enableDebugMode) + System.out.print("[Debug] Successfully spawned antenna at " + x + " " + y +" " + z + "\n"); + return true; + + } + +} \ No newline at end of file diff --git a/com/hbm/world/CrashedVertibird.java b/com/hbm/world/CrashedVertibird.java new file mode 100644 index 000000000..08ac8480b --- /dev/null +++ b/com/hbm/world/CrashedVertibird.java @@ -0,0 +1,425 @@ +//Schematic to java Structure by jajo_11 | inspired by "MITHION'S .SCHEMATIC TO JAVA CONVERTINGTOOL" + +package com.hbm.world; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.HbmChestContents; +import com.hbm.main.MainRegistry; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +public class CrashedVertibird extends WorldGenerator +{ + Block Block1 = ModBlocks.block_steel; + Block Block2 = ModBlocks.block_tungsten; + Block Block3 = ModBlocks.reinforced_glass; + Block Block4 = ModBlocks.block_titanium; + + protected Block[] GetValidSpawnBlocks() + { + return new Block[] + { + Blocks.sand, + Blocks.sandstone, + }; + } + + public boolean LocationIsValidSpawn(World world, int x, int y, int z) + { + + Block checkBlock = world.getBlock(x, y - 1, z); + Block blockAbove = world.getBlock(x, y , z); + Block blockBelow = world.getBlock(x, y - 2, z); + + for (Block i : GetValidSpawnBlocks()) + { + if (blockAbove != Blocks.air) + { + return false; + } + if (checkBlock == i) + { + return true; + } + else if (checkBlock == Blocks.snow_layer && blockBelow == i) + { + return true; + } + else if (checkBlock.getMaterial() == Material.plants && blockBelow == i) + { + return true; + } + } + return false; + } + + public boolean generate(World world, Random rand, int x, int y, int z) + { + int i = rand.nextInt(1); + + if(i == 0) + { + generate_r0(world, rand, x, y, z); + } + + return true; + + } + + public boolean generate_r0(World world, Random rand, int x, int y, int z) + { + int yOffset = 8 + rand.nextInt(4); + + if(!LocationIsValidSpawn(world, x + 9, y, z + 9)) + { + return false; + } + + world.setBlock(x + 4, y + 0 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 5, y + 0 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 6, y + 0 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 5, y + 0 - yOffset, z + 2, Block2, 0, 3); + world.setBlock(x + 4, y + 1 - yOffset, z + 0, Block1, 0, 3); + world.setBlock(x + 5, y + 1 - yOffset, z + 0, Block1, 0, 3); + world.setBlock(x + 6, y + 1 - yOffset, z + 0, Block1, 0, 3); + world.setBlock(x + 3, y + 1 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 7, y + 1 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 4, y + 1 - yOffset, z + 2, Block1, 0, 3); + world.setBlock(x + 5, y + 1 - yOffset, z + 2, Block1, 0, 3); + world.setBlock(x + 6, y + 1 - yOffset, z + 2, Block1, 0, 3); + world.setBlock(x + 3, y + 1 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 4, y + 1 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 5, y + 1 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 6, y + 1 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 7, y + 1 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 4, y + 2 - yOffset, z + 0, Block3, 0, 3); + world.setBlock(x + 5, y + 2 - yOffset, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + 2 - yOffset, z + 1, Block3, 0, 3); + world.setBlock(x + 7, y + 2 - yOffset, z + 1, Block3, 0, 3); + world.setBlock(x + 3, y + 2 - yOffset, z + 2, Block1, 0, 3); + world.setBlock(x + 4, y + 2 - yOffset, z + 2, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 6, y + 2 - yOffset, z + 2, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 7, y + 2 - yOffset, z + 2, Block1, 0, 3); + world.setBlock(x + 7, y + 2 - yOffset, z + 3, Block4, 0, 3); + world.setBlock(x + 3, y + 2 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 4, y + 2 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 5, y + 2 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 6, y + 2 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 7, y + 2 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 3, y + 2 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 4, y + 2 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 5, y + 2 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 6, y + 2 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 7, y + 2 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 4, y + 2 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 6, y + 2 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 4, y + 3 - yOffset, z + 0, Block1, 0, 3); + world.setBlock(x + 5, y + 3 - yOffset, z + 0, Block1, 0, 3); + world.setBlock(x + 6, y + 3 - yOffset, z + 0, Block1, 0, 3); + world.setBlock(x + 3, y + 3 - yOffset, z + 1, Block3, 0, 3); + world.setBlock(x + 4, y + 3 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 5, y + 3 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 6, y + 3 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 7, y + 3 - yOffset, z + 1, Block3, 0, 3); + world.setBlock(x + 3, y + 3 - yOffset, z + 2, Block1, 0, 3); + world.setBlock(x + 7, y + 3 - yOffset, z + 2, Block1, 0, 3); + world.setBlock(x + 3, y + 3 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 7, y + 3 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 7, y + 3 - yOffset, z + 4, Block4, 0, 3); + world.setBlock(x + 2, y + 3 - yOffset, z + 5, Block4, 0, 3); + world.setBlock(x + 7, y + 3 - yOffset, z + 5, Block4, 0, 3); + world.setBlock(x + 4, y + 3 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 5, y + 3 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 6, y + 3 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 4, y + 3 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 5, y + 3 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 6, y + 3 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 5, y + 3 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 4, y + 4 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 5, y + 4 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 6, y + 4 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 3, y + 4 - yOffset, z + 2, Block3, 0, 3); + world.setBlock(x + 3, y + 4 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 7, y + 4 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 7, y + 4 - yOffset, z + 5, Block4, 0, 3); + world.setBlock(x + 2, y + 4 - yOffset, z + 6, Block4, 0, 3); + world.setBlock(x + 3, y + 4 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 7, y + 4 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 2, y + 4 - yOffset, z + 7, Block4, 0, 3); + world.setBlock(x + 3, y + 4 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 6, y + 4 - yOffset, z + 7, Blocks.chest, 2, 3); + if(world.getBlock(x + 6, y + 4 - yOffset, z + 7) == Blocks.chest) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(6), (TileEntityChest)world.getTileEntity(x + 6, y + 4 - yOffset, z + 7), 8); + } + world.setBlock(x + 7, y + 4 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 4, y + 4 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 5, y + 4 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 6, y + 4 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 4, y + 4 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 5, y + 4 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 6, y + 4 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 6, y + 5 - yOffset, z + 1, Block2, 0, 3); + world.setBlock(x + 4, y + 5 - yOffset, z + 2, Block1, 0, 3); + world.setBlock(x + 5, y + 5 - yOffset, z + 2, Block1, 0, 3); + world.setBlock(x + 6, y + 5 - yOffset, z + 2, Block1, 0, 3); + world.setBlock(x + 4, y + 5 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 5, y + 5 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 6, y + 5 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 7, y + 5 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 3, y + 5 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 7, y + 5 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 3, y + 5 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 7, y + 5 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 2, y + 5 - yOffset, z + 6, Block4, 0, 3); + world.setBlock(x + 3, y + 5 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 7, y + 5 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 2, y + 5 - yOffset, z + 7, Block4, 0, 3); + world.setBlock(x + 3, y + 5 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 7, y + 5 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 4, y + 5 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 5, y + 5 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 6, y + 5 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 4, y + 5 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 5, y + 5 - yOffset, z + 9, Block4, 0, 3); + world.setBlock(x + 6, y + 5 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 5, y + 6 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 6, y + 6 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 4, y + 6 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 5, y + 6 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 6, y + 6 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 7, y + 6 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 14, y + 6 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 0, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 1, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 2, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 3, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 4, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 5, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 6, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 7, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 8, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 9, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 10, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 3, y + 6 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 4, y + 6 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 6, y + 6 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 7, y + 6 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 3, y + 6 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 4, y + 6 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 5, y + 6 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 6, y + 6 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 7, y + 6 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 4, y + 6 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 5, y + 6 - yOffset, z + 8, ModBlocks.machine_battery, 2, 3); + world.setBlock(x + 6, y + 6 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 4, y + 6 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 5, y + 6 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 6, y + 6 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 4, y + 6 - yOffset, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + 6 - yOffset, z + 10, Block1, 0, 3); + world.setBlock(x + 6, y + 6 - yOffset, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + 6 - yOffset, z + 11, Block1, 0, 3); + world.setBlock(x + 6, y + 6 - yOffset, z + 11, Block1, 0, 3); + world.setBlock(x + 4, y + 7 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 5, y + 7 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 6, y + 7 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 7, y + 7 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 14, y + 7 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 1, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 2, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 3, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 4, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 5, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 6, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 7, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 8, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 9, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 10, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 11, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 12, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 13, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 14, y + 7 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 3, y + 7 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 4, y + 7 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 5, y + 7 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 6, y + 7 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 7, y + 7 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 14, y + 7 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 3, y + 7 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 4, y + 7 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 5, y + 7 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 6, y + 7 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 7, y + 7 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 3, y + 7 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 4, y + 7 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 5, y + 7 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 6, y + 7 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 7, y + 7 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 3, y + 7 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 4, y + 7 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 5, y + 7 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 6, y + 7 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 7, y + 7 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 5, y + 7 - yOffset, z + 10, Block4, 0, 3); + world.setBlock(x + 6, y + 7 - yOffset, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + 7 - yOffset, z + 11, Block4, 0, 3); + world.setBlock(x + 6, y + 7 - yOffset, z + 11, Block1, 0, 3); + world.setBlock(x + 5, y + 8 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 14, y + 8 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 4, y + 8 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 5, y + 8 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 6, y + 8 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 13, y + 8 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 14, y + 8 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 15, y + 8 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 3, y + 8 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 4, y + 8 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 5, y + 8 - yOffset, z + 6, Blocks.chest, 2, 3); + if(world.getBlock(x + 5, y + 8 - yOffset, z + 6) == Blocks.chest) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityChest)world.getTileEntity(x + 5, y + 8 - yOffset, z + 6), 8); + } + world.setBlock(x + 6, y + 8 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 7, y + 8 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 14, y + 8 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 3, y + 8 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 4, y + 8 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 5, y + 8 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 6, y + 8 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 7, y + 8 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 3, y + 8 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 4, y + 8 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 5, y + 8 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 6, y + 8 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 7, y + 8 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 3, y + 8 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 4, y + 8 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 5, y + 8 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 6, y + 8 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 7, y + 8 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 4, y + 8 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 5, y + 8 - yOffset, z + 10, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 6, y + 8 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 7, y + 8 - yOffset, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + 8 - yOffset, z + 11, Block4, 0, 3); + world.setBlock(x + 6, y + 8 - yOffset, z + 11, Block1, 0, 3); + world.setBlock(x + 7, y + 8 - yOffset, z + 11, Block1, 0, 3); + world.setBlock(x + 6, y + 8 - yOffset, z + 12, Block1, 0, 3); + world.setBlock(x + 14, y + 9 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 13, y + 9 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 14, y + 9 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 15, y + 9 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 4, y + 9 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 5, y + 9 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 6, y + 9 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 14, y + 9 - yOffset, z + 6, Block1, 0, 3); + world.setBlock(x + 4, y + 9 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 5, y + 9 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 6, y + 9 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 3, y + 9 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 4, y + 9 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 5, y + 9 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 6, y + 9 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 7, y + 9 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 4, y + 9 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 5, y + 9 - yOffset, z + 9, Block4, 0, 3); + world.setBlock(x + 6, y + 9 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 4, y + 9 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 5, y + 9 - yOffset, z + 10, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 6, y + 9 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 7, y + 9 - yOffset, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + 9 - yOffset, z + 11, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 6, y + 9 - yOffset, z + 11, Block1, 0, 3); + world.setBlock(x + 5, y + 9 - yOffset, z + 12, Block4, 0, 3); + world.setBlock(x + 6, y + 9 - yOffset, z + 12, Block1, 0, 3); + world.setBlock(x + 7, y + 9 - yOffset, z + 12, Block1, 0, 3); + world.setBlock(x + 5, y + 9 - yOffset, z + 13, Block1, 0, 3); + world.setBlock(x + 6, y + 9 - yOffset, z + 13, Block1, 0, 3); + world.setBlock(x + 14, y + 10 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 5, y + 10 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 6, y + 10 - yOffset, z + 8, Block1, 0, 3); + world.setBlock(x + 5, y + 10 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + 10 - yOffset, z + 10, Block4, 0, 3); + world.setBlock(x + 6, y + 10 - yOffset, z + 10, Block1, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 11, Block1, 0, 3); + world.setBlock(x + 5, y + 10 - yOffset, z + 11, Block1, 0, 3); + world.setBlock(x + 6, y + 10 - yOffset, z + 11, Block1, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 12, Block1, 0, 3); + world.setBlock(x + 5, y + 10 - yOffset, z + 12, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 6, y + 10 - yOffset, z + 12, Block1, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 13, Block1, 0, 3); + world.setBlock(x + 5, y + 10 - yOffset, z + 13, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 6, y + 10 - yOffset, z + 13, Block1, 0, 3); + world.setBlock(x + 5, y + 10 - yOffset, z + 14, Block1, 0, 3); + world.setBlock(x + 5, y + 10 - yOffset, z + 15, Block1, 0, 3); + world.setBlock(x + 5, y + 10 - yOffset, z + 17, Block1, 0, 3); + world.setBlock(x + 5, y + 10 - yOffset, z + 18, Block1, 0, 3); + world.setBlock(x + 14, y + 11 - yOffset, z + 4, Block4, 0, 3); + world.setBlock(x + 12, y + 11 - yOffset, z + 5, Block4, 0, 3); + world.setBlock(x + 13, y + 11 - yOffset, z + 5, Block4, 0, 3); + world.setBlock(x + 14, y + 11 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 15, y + 11 - yOffset, z + 5, Block4, 0, 3); + world.setBlock(x + 16, y + 11 - yOffset, z + 5, Block4, 0, 3); + world.setBlock(x + 17, y + 11 - yOffset, z + 5, Block4, 0, 3); + world.setBlock(x + 14, y + 11 - yOffset, z + 6, Block4, 0, 3); + world.setBlock(x + 14, y + 11 - yOffset, z + 7, Block4, 0, 3); + world.setBlock(x + 5, y + 11 - yOffset, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + 11 - yOffset, z + 11, Block1, 0, 3); + world.setBlock(x + 4, y + 11 - yOffset, z + 12, Block1, 0, 3); + world.setBlock(x + 5, y + 11 - yOffset, z + 12, Block1, 0, 3); + world.setBlock(x + 6, y + 11 - yOffset, z + 12, Block1, 0, 3); + world.setBlock(x + 5, y + 11 - yOffset, z + 13, Block1, 0, 3); + world.setBlock(x + 4, y + 11 - yOffset, z + 14, Block1, 0, 3); + world.setBlock(x + 5, y + 11 - yOffset, z + 14, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 6, y + 11 - yOffset, z + 14, Block1, 0, 3); + world.setBlock(x + 4, y + 11 - yOffset, z + 15, Block1, 0, 3); + world.setBlock(x + 5, y + 11 - yOffset, z + 15, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 6, y + 11 - yOffset, z + 15, Block1, 0, 3); + world.setBlock(x + 5, y + 11 - yOffset, z + 16, Block1, 0, 3); + world.setBlock(x + 5, y + 11 - yOffset, z + 17, Block1, 0, 3); + world.setBlock(x + 5, y + 11 - yOffset, z + 18, Block1, 0, 3); + world.setBlock(x + 5, y + 12 - yOffset, z + 14, Block1, 0, 3); + world.setBlock(x + 3, y + 12 - yOffset, z + 16, Block1, 0, 3); + world.setBlock(x + 4, y + 12 - yOffset, z + 16, Block1, 0, 3); + world.setBlock(x + 5, y + 12 - yOffset, z + 16, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 6, y + 12 - yOffset, z + 16, Block1, 0, 3); + world.setBlock(x + 7, y + 12 - yOffset, z + 16, Block1, 0, 3); + world.setBlock(x + 8, y + 12 - yOffset, z + 16, Block1, 0, 3); + world.setBlock(x + 9, y + 12 - yOffset, z + 16, Block1, 0, 3); + world.setBlock(x + 4, y + 12 - yOffset, z + 17, Block1, 0, 3); + world.setBlock(x + 5, y + 12 - yOffset, z + 17, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 6, y + 12 - yOffset, z + 17, Block1, 0, 3); + world.setBlock(x + 7, y + 12 - yOffset, z + 17, Block1, 0, 3); + world.setBlock(x + 8, y + 12 - yOffset, z + 17, Block1, 0, 3); + world.setBlock(x + 9, y + 12 - yOffset, z + 17, Block1, 0, 3); + world.setBlock(x + 10, y + 12 - yOffset, z + 17, Block1, 0, 3); + world.setBlock(x + 5, y + 13 - yOffset, z + 17, Block1, 0, 3); + + generate_r02_last(world, rand, x, y, z, yOffset); + return true; + + } + public boolean generate_r02_last(World world, Random rand, int x, int y, int z, int yOffset) + { + + world.setBlock(x + 4, y + 1 - yOffset, z + 1, Blocks.lever, 3, 3); + world.setBlock(x + 6, y + 1 - yOffset, z + 1, Blocks.lever, 3, 3); + if(MainRegistry.enableDebugMode) + System.out.print("[Debug] Successfully spawned crashed Vertibird at " + x + " " + y +" " + z + "\n"); + return true; + + } + +} \ No newline at end of file diff --git a/com/hbm/world/DesertAtom001.java b/com/hbm/world/DesertAtom001.java new file mode 100644 index 000000000..cbbfcf188 --- /dev/null +++ b/com/hbm/world/DesertAtom001.java @@ -0,0 +1,1122 @@ +//Schematic to java Structure by jajo_11 | inspired by "MITHION'S .SCHEMATIC TO JAVA CONVERTINGTOOL" + +package com.hbm.world; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.HbmChestContents; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +public class DesertAtom001 extends WorldGenerator +{ + Block Block1 = ModBlocks.brick_concrete; + Block Block2 = ModBlocks.yellow_barrel; + Block Block3 = ModBlocks.reinforced_sand; + Block Block4 = ModBlocks.nuke_man; + Block Block5 = ModBlocks.block_steel; + Block Block6 = ModBlocks.brick_light; + Block Block7 = ModBlocks.block_tungsten; + Block Block8 = ModBlocks.steel_poles; + Block Block9 = ModBlocks.tape_recorder; + Block Block10 = ModBlocks.machine_nuke_furnace_off; + Block Block11 = ModBlocks.reinforced_glass; + Block Block12 = ModBlocks.reinforced_lamp_off; + Block Block13 = ModBlocks.pole_satellite_receiver; + Block Block14 = ModBlocks.machine_generator; + Block Block15 = ModBlocks.block_titanium; + Block Block16 = ModBlocks.machine_reactor; + Block Block17 = ModBlocks.ore_schrabidium; + Block Block18 = ModBlocks.waste_planks; + Block Block19 = ModBlocks.machine_centrifuge; + Block Block20 = ModBlocks.machine_uf6_tank; + Block Block21 = ModBlocks.machine_puf6_tank; + Block Block22 = ModBlocks.reinforced_brick; + Block Block23 = ModBlocks.waste_earth; + Block Block24 = ModBlocks.block_lead; + Block Block25 = ModBlocks.red_wire_coated; + Block Block26 = ModBlocks.block_uranium; + Block Block27 = ModBlocks.pole_top; + Block Block28 = ModBlocks.machine_battery; + Block Block29 = ModBlocks.machine_electric_furnace_off; + + protected Block[] GetValidSpawnBlocks() + { + return new Block[] + { + Blocks.grass, + Blocks.dirt, + Blocks.sand, + Blocks.sandstone, + Blocks.stone, + Blocks.hardened_clay, + Blocks.stained_hardened_clay, + }; + } + + public boolean LocationIsValidSpawn(World world, int x, int y, int z) + { + + Block checkBlock = world.getBlock(x, y - 1, z); + Block blockAbove = world.getBlock(x, y , z); + Block blockBelow = world.getBlock(x, y - 2, z); + + for (Block i : GetValidSpawnBlocks()) + { + if (blockAbove != Blocks.air) + { + return false; + } + if (checkBlock == i) + { + return true; + } + else if (checkBlock == Blocks.snow_layer && blockBelow == i) + { + return true; + } + else if (checkBlock.getMaterial() == Material.plants && blockBelow == i) + { + return true; + } + } + return false; + } + + public boolean generate(World world, Random rand, int x, int y, int z) + { + int i = rand.nextInt(1); + + if(i == 0) + { + generate_r0(world, rand, x, y, z); + } + + return true; + + } + + public boolean generate_r0(World world, Random rand, int x, int y, int z) + { + if(!LocationIsValidSpawn(world, x + 20, y, z + 16)) + { + return false; + } + + world.setBlock(x + 6, y + -5, z + 9, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 9, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 9, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 9, Block1, 0, 3); + world.setBlock(x + 10, y + -5, z + 9, Block1, 0, 3); + world.setBlock(x + 5, y + -5, z + 10, Block1, 0, 3); + world.setBlock(x + 6, y + -5, z + 10, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 10, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 10, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 10, Block1, 0, 3); + world.setBlock(x + 10, y + -5, z + 10, Block1, 0, 3); + world.setBlock(x + 11, y + -5, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + -5, z + 11, Block1, 0, 3); + world.setBlock(x + 6, y + -5, z + 11, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 11, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 11, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 11, Block1, 0, 3); + world.setBlock(x + 10, y + -5, z + 11, Block1, 0, 3); + world.setBlock(x + 11, y + -5, z + 11, Block1, 0, 3); + world.setBlock(x + 5, y + -5, z + 12, Block1, 0, 3); + world.setBlock(x + 6, y + -5, z + 12, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 12, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 12, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 12, Block1, 0, 3); + world.setBlock(x + 10, y + -5, z + 12, Block1, 0, 3); + world.setBlock(x + 11, y + -5, z + 12, Block1, 0, 3); + world.setBlock(x + 5, y + -5, z + 13, Block1, 0, 3); + world.setBlock(x + 6, y + -5, z + 13, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 13, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 13, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 13, Block1, 0, 3); + world.setBlock(x + 10, y + -5, z + 13, Block1, 0, 3); + world.setBlock(x + 11, y + -5, z + 13, Block1, 0, 3); + world.setBlock(x + 5, y + -5, z + 14, Block1, 0, 3); + world.setBlock(x + 6, y + -5, z + 14, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 14, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 14, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 14, Block1, 0, 3); + world.setBlock(x + 10, y + -5, z + 14, Block1, 0, 3); + world.setBlock(x + 11, y + -5, z + 14, Block1, 0, 3); + world.setBlock(x + 6, y + -5, z + 15, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 15, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 15, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 15, Block1, 0, 3); + world.setBlock(x + 10, y + -5, z + 15, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 16, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 16, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 16, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 17, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 17, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 17, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 18, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 18, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 18, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 19, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 19, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 19, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 20, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 20, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 20, Block1, 0, 3); + world.setBlock(x + 7, y + -5, z + 21, Block1, 0, 3); + world.setBlock(x + 8, y + -5, z + 21, Block1, 0, 3); + world.setBlock(x + 9, y + -5, z + 21, Block1, 0, 3); + world.setBlock(x + 6, y + -4, z + 9, Block1, 0, 3); + world.setBlock(x + 7, y + -4, z + 9, Block1, 0, 3); + world.setBlock(x + 8, y + -4, z + 9, Block1, 0, 3); + world.setBlock(x + 9, y + -4, z + 9, Block1, 0, 3); + world.setBlock(x + 10, y + -4, z + 9, Block1, 0, 3); + world.setBlock(x + 5, y + -4, z + 10, Block1, 0, 3); + world.setBlock(x + 6, y + -4, z + 10, Block1, 0, 3); + world.setBlock(x + 7, y + -4, z + 10, Block2, 0, 3); + world.setBlock(x + 8, y + -4, z + 10, Block2, 0, 3); + world.setBlock(x + 9, y + -4, z + 10, Block2, 0, 3); + world.setBlock(x + 10, y + -4, z + 10, Block1, 0, 3); + world.setBlock(x + 11, y + -4, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + -4, z + 11, Block1, 0, 3); + world.setBlock(x + 6, y + -4, z + 11, Block2, 0, 3); + world.setBlock(x + 7, y + -4, z + 11, Block2, 0, 3); + world.setBlock(x + 8, y + -4, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -4, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -4, z + 11, Block2, 0, 3); + world.setBlock(x + 11, y + -4, z + 11, Block1, 0, 3); + world.setBlock(x + 5, y + -4, z + 12, Block1, 0, 3); + world.setBlock(x + 6, y + -4, z + 12, Block2, 0, 3); + world.setBlock(x + 7, y + -4, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -4, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -4, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -4, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -4, z + 12, Block1, 0, 3); + world.setBlock(x + 5, y + -4, z + 13, Block1, 0, 3); + world.setBlock(x + 6, y + -4, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -4, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -4, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -4, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -4, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -4, z + 13, Block1, 0, 3); + world.setBlock(x + 5, y + -4, z + 14, Block1, 0, 3); + world.setBlock(x + 6, y + -4, z + 14, Block1, 0, 3); + world.setBlock(x + 7, y + -4, z + 14, Block2, 0, 3); + world.setBlock(x + 8, y + -4, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -4, z + 14, Blocks.chest, 2, 3); + if(world.getBlock(x + 9, y + -4, z + 14) == Blocks.chest) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(5), (TileEntityChest)world.getTileEntity(x + 9, y + -4, z + 14), 10); + } + world.setBlock(x + 10, y + -4, z + 14, Block1, 0, 3); + world.setBlock(x + 11, y + -4, z + 14, Block1, 0, 3); + world.setBlock(x + 6, y + -4, z + 15, Block1, 0, 3); + world.setBlock(x + 7, y + -4, z + 15, Block1, 0, 3); + world.setBlock(x + 8, y + -4, z + 15, Blocks.water, 8, 3); + world.setBlock(x + 9, y + -4, z + 15, Block1, 0, 3); + world.setBlock(x + 10, y + -4, z + 15, Block1, 0, 3); + world.setBlock(x + 7, y + -4, z + 16, Block1, 0, 3); + world.setBlock(x + 8, y + -4, z + 16, Blocks.water, 8, 3); + world.setBlock(x + 9, y + -4, z + 16, Block1, 0, 3); + world.setBlock(x + 7, y + -4, z + 17, Block1, 0, 3); + world.setBlock(x + 8, y + -4, z + 17, Blocks.water, 8, 3); + world.setBlock(x + 9, y + -4, z + 17, Block1, 0, 3); + world.setBlock(x + 7, y + -4, z + 18, Block1, 0, 3); + world.setBlock(x + 8, y + -4, z + 18, Blocks.water, 8, 3); + world.setBlock(x + 9, y + -4, z + 18, Block1, 0, 3); + world.setBlock(x + 7, y + -4, z + 19, Block1, 0, 3); + world.setBlock(x + 8, y + -4, z + 19, Blocks.water, 8, 3); + world.setBlock(x + 9, y + -4, z + 19, Block1, 0, 3); + world.setBlock(x + 6, y + -4, z + 20, Block3, 0, 3); + world.setBlock(x + 7, y + -4, z + 20, Block3, 0, 3); + world.setBlock(x + 8, y + -4, z + 20, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -4, z + 20, Block3, 0, 3); + world.setBlock(x + 10, y + -4, z + 20, Block3, 0, 3); + world.setBlock(x + 4, y + -4, z + 21, Block3, 0, 3); + world.setBlock(x + 5, y + -4, z + 21, Block3, 0, 3); + world.setBlock(x + 6, y + -4, z + 21, Block3, 0, 3); + world.setBlock(x + 7, y + -4, z + 21, Block3, 0, 3); + world.setBlock(x + 8, y + -4, z + 21, Blocks.water, 8, 3); + world.setBlock(x + 9, y + -4, z + 21, Block3, 0, 3); + world.setBlock(x + 10, y + -4, z + 21, Block3, 0, 3); + world.setBlock(x + 11, y + -4, z + 21, Block3, 0, 3); + world.setBlock(x + 12, y + -4, z + 21, Block3, 0, 3); + world.setBlock(x + 4, y + -4, z + 22, Block3, 0, 3); + world.setBlock(x + 5, y + -4, z + 22, Block3, 0, 3); + world.setBlock(x + 6, y + -4, z + 22, Block3, 0, 3); + world.setBlock(x + 7, y + -4, z + 22, Block3, 0, 3); + world.setBlock(x + 8, y + -4, z + 22, Block3, 0, 3); + world.setBlock(x + 9, y + -4, z + 22, Block3, 0, 3); + world.setBlock(x + 10, y + -4, z + 22, Block3, 0, 3); + world.setBlock(x + 11, y + -4, z + 22, Block3, 0, 3); + world.setBlock(x + 12, y + -4, z + 22, Block3, 0, 3); + world.setBlock(x + 3, y + -4, z + 23, Block3, 0, 3); + world.setBlock(x + 4, y + -4, z + 23, Block3, 0, 3); + world.setBlock(x + 5, y + -4, z + 23, Block3, 0, 3); + world.setBlock(x + 6, y + -4, z + 23, Block3, 0, 3); + world.setBlock(x + 7, y + -4, z + 23, Block3, 0, 3); + world.setBlock(x + 8, y + -4, z + 23, Block3, 0, 3); + world.setBlock(x + 9, y + -4, z + 23, Block3, 0, 3); + world.setBlock(x + 10, y + -4, z + 23, Block3, 0, 3); + world.setBlock(x + 11, y + -4, z + 23, Block3, 0, 3); + world.setBlock(x + 12, y + -4, z + 23, Block3, 0, 3); + world.setBlock(x + 13, y + -4, z + 23, Block3, 0, 3); + world.setBlock(x + 3, y + -4, z + 24, Block3, 0, 3); + world.setBlock(x + 4, y + -4, z + 24, Block3, 0, 3); + world.setBlock(x + 5, y + -4, z + 24, Block3, 0, 3); + world.setBlock(x + 6, y + -4, z + 24, Block3, 0, 3); + world.setBlock(x + 7, y + -4, z + 24, Block3, 0, 3); + world.setBlock(x + 8, y + -4, z + 24, Block3, 0, 3); + world.setBlock(x + 9, y + -4, z + 24, Block3, 0, 3); + world.setBlock(x + 10, y + -4, z + 24, Block3, 0, 3); + world.setBlock(x + 11, y + -4, z + 24, Block3, 0, 3); + world.setBlock(x + 12, y + -4, z + 24, Block3, 0, 3); + world.setBlock(x + 13, y + -4, z + 24, Block3, 0, 3); + world.setBlock(x + 3, y + -4, z + 25, Block3, 0, 3); + world.setBlock(x + 4, y + -4, z + 25, Block3, 0, 3); + world.setBlock(x + 5, y + -4, z + 25, Block3, 0, 3); + world.setBlock(x + 6, y + -4, z + 25, Block3, 0, 3); + world.setBlock(x + 7, y + -4, z + 25, Block3, 0, 3); + world.setBlock(x + 8, y + -4, z + 25, Block3, 0, 3); + world.setBlock(x + 9, y + -4, z + 25, Block3, 0, 3); + world.setBlock(x + 10, y + -4, z + 25, Block3, 0, 3); + world.setBlock(x + 11, y + -4, z + 25, Block3, 0, 3); + world.setBlock(x + 12, y + -4, z + 25, Block3, 0, 3); + world.setBlock(x + 13, y + -4, z + 25, Block3, 0, 3); + world.setBlock(x + 3, y + -4, z + 26, Block3, 0, 3); + world.setBlock(x + 4, y + -4, z + 26, Block3, 0, 3); + world.setBlock(x + 5, y + -4, z + 26, Block3, 0, 3); + world.setBlock(x + 6, y + -4, z + 26, Block3, 0, 3); + world.setBlock(x + 7, y + -4, z + 26, Block3, 0, 3); + world.setBlock(x + 8, y + -4, z + 26, Block3, 0, 3); + world.setBlock(x + 9, y + -4, z + 26, Block3, 0, 3); + world.setBlock(x + 10, y + -4, z + 26, Block3, 0, 3); + world.setBlock(x + 11, y + -4, z + 26, Block3, 0, 3); + world.setBlock(x + 12, y + -4, z + 26, Block3, 0, 3); + world.setBlock(x + 13, y + -4, z + 26, Block3, 0, 3); + world.setBlock(x + 3, y + -4, z + 27, Block3, 0, 3); + world.setBlock(x + 4, y + -4, z + 27, Block3, 0, 3); + world.setBlock(x + 5, y + -4, z + 27, Block3, 0, 3); + world.setBlock(x + 6, y + -4, z + 27, Block3, 0, 3); + world.setBlock(x + 7, y + -4, z + 27, Block3, 0, 3); + world.setBlock(x + 8, y + -4, z + 27, Block3, 0, 3); + world.setBlock(x + 9, y + -4, z + 27, Block3, 0, 3); + world.setBlock(x + 10, y + -4, z + 27, Block3, 0, 3); + world.setBlock(x + 11, y + -4, z + 27, Block3, 0, 3); + world.setBlock(x + 12, y + -4, z + 27, Block3, 0, 3); + world.setBlock(x + 13, y + -4, z + 27, Block3, 0, 3); + world.setBlock(x + 4, y + -4, z + 28, Block3, 0, 3); + world.setBlock(x + 5, y + -4, z + 28, Block3, 0, 3); + world.setBlock(x + 6, y + -4, z + 28, Block3, 0, 3); + world.setBlock(x + 7, y + -4, z + 28, Block3, 0, 3); + world.setBlock(x + 8, y + -4, z + 28, Block3, 0, 3); + world.setBlock(x + 9, y + -4, z + 28, Block3, 0, 3); + world.setBlock(x + 10, y + -4, z + 28, Block3, 0, 3); + world.setBlock(x + 11, y + -4, z + 28, Block3, 0, 3); + world.setBlock(x + 12, y + -4, z + 28, Block3, 0, 3); + world.setBlock(x + 4, y + -4, z + 29, Block3, 0, 3); + world.setBlock(x + 5, y + -4, z + 29, Block3, 0, 3); + world.setBlock(x + 6, y + -4, z + 29, Block3, 0, 3); + world.setBlock(x + 7, y + -4, z + 29, Block3, 0, 3); + world.setBlock(x + 8, y + -4, z + 29, Block3, 0, 3); + world.setBlock(x + 9, y + -4, z + 29, Block3, 0, 3); + world.setBlock(x + 10, y + -4, z + 29, Block3, 0, 3); + world.setBlock(x + 11, y + -4, z + 29, Block3, 0, 3); + world.setBlock(x + 12, y + -4, z + 29, Block3, 0, 3); + world.setBlock(x + 6, y + -4, z + 30, Block3, 0, 3); + world.setBlock(x + 7, y + -4, z + 30, Block3, 0, 3); + world.setBlock(x + 8, y + -4, z + 30, Block3, 0, 3); + world.setBlock(x + 9, y + -4, z + 30, Block3, 0, 3); + world.setBlock(x + 10, y + -4, z + 30, Block3, 0, 3); + world.setBlock(x + 6, y + -3, z + 9, Block1, 0, 3); + world.setBlock(x + 7, y + -3, z + 9, Block1, 0, 3); + world.setBlock(x + 8, y + -3, z + 9, Block1, 0, 3); + world.setBlock(x + 9, y + -3, z + 9, Block1, 0, 3); + world.setBlock(x + 10, y + -3, z + 9, Block1, 0, 3); + world.setBlock(x + 5, y + -3, z + 10, Block1, 0, 3); + world.setBlock(x + 6, y + -3, z + 10, Block1, 0, 3); + world.setBlock(x + 7, y + -3, z + 10, Block2, 0, 3); + world.setBlock(x + 8, y + -3, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 10, Block1, 0, 3); + world.setBlock(x + 11, y + -3, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + -3, z + 11, Block1, 0, 3); + world.setBlock(x + 6, y + -3, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -3, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -3, z + 11, Block1, 0, 3); + world.setBlock(x + 5, y + -3, z + 12, Block1, 0, 3); + world.setBlock(x + 6, y + -3, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -3, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -3, z + 12, Block1, 0, 3); + world.setBlock(x + 5, y + -3, z + 13, Block1, 0, 3); + world.setBlock(x + 6, y + -3, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -3, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -3, z + 13, Block1, 0, 3); + world.setBlock(x + 5, y + -3, z + 14, Block1, 0, 3); + world.setBlock(x + 6, y + -3, z + 14, Block1, 0, 3); + world.setBlock(x + 7, y + -3, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 14, Block1, 0, 3); + world.setBlock(x + 11, y + -3, z + 14, Block1, 0, 3); + world.setBlock(x + 6, y + -3, z + 15, Block1, 0, 3); + world.setBlock(x + 7, y + -3, z + 15, Block1, 0, 3); + world.setBlock(x + 8, y + -3, z + 15, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 15, Block1, 0, 3); + world.setBlock(x + 10, y + -3, z + 15, Block1, 0, 3); + world.setBlock(x + 7, y + -3, z + 16, Block1, 0, 3); + world.setBlock(x + 8, y + -3, z + 16, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 16, Block1, 0, 3); + world.setBlock(x + 7, y + -3, z + 17, Block1, 0, 3); + world.setBlock(x + 8, y + -3, z + 17, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 17, Block1, 0, 3); + world.setBlock(x + 7, y + -3, z + 18, Block1, 0, 3); + world.setBlock(x + 8, y + -3, z + 18, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 18, Block1, 0, 3); + world.setBlock(x + 7, y + -3, z + 19, Block1, 0, 3); + world.setBlock(x + 8, y + -3, z + 19, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 19, Block1, 0, 3); + world.setBlock(x + 6, y + -3, z + 20, Block3, 0, 3); + world.setBlock(x + 7, y + -3, z + 20, Block3, 0, 3); + world.setBlock(x + 8, y + -3, z + 20, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 20, Block3, 0, 3); + world.setBlock(x + 10, y + -3, z + 20, Block3, 0, 3); + world.setBlock(x + 4, y + -3, z + 21, Block3, 0, 3); + world.setBlock(x + 5, y + -3, z + 21, Block3, 0, 3); + world.setBlock(x + 6, y + -3, z + 21, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -3, z + 21, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 21, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 21, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 21, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -3, z + 21, Block3, 0, 3); + world.setBlock(x + 12, y + -3, z + 21, Block3, 0, 3); + world.setBlock(x + 4, y + -3, z + 22, Block3, 0, 3); + world.setBlock(x + 5, y + -3, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -3, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -3, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -3, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -3, z + 22, Block3, 0, 3); + world.setBlock(x + 3, y + -3, z + 23, Block3, 0, 3); + world.setBlock(x + 4, y + -3, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 5, y + -3, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -3, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -3, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -3, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -3, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 13, y + -3, z + 23, Block3, 0, 3); + world.setBlock(x + 3, y + -3, z + 24, Block3, 0, 3); + world.setBlock(x + 4, y + -3, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 5, y + -3, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -3, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -3, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -3, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -3, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 13, y + -3, z + 24, Block3, 0, 3); + world.setBlock(x + 3, y + -3, z + 25, Block3, 0, 3); + world.setBlock(x + 4, y + -3, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 5, y + -3, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -3, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -3, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 25, Block4, 2, 3); + world.setBlock(x + 9, y + -3, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -3, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -3, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 13, y + -3, z + 25, Block3, 0, 3); + world.setBlock(x + 3, y + -3, z + 26, Block3, 0, 3); + world.setBlock(x + 4, y + -3, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 5, y + -3, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -3, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -3, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -3, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -3, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 13, y + -3, z + 26, Block3, 0, 3); + world.setBlock(x + 3, y + -3, z + 27, Block3, 0, 3); + world.setBlock(x + 4, y + -3, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 5, y + -3, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -3, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -3, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -3, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -3, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 13, y + -3, z + 27, Block3, 0, 3); + world.setBlock(x + 4, y + -3, z + 28, Block3, 0, 3); + world.setBlock(x + 5, y + -3, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -3, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -3, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -3, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -3, z + 28, Block3, 0, 3); + world.setBlock(x + 4, y + -3, z + 29, Block3, 0, 3); + world.setBlock(x + 5, y + -3, z + 29, Block3, 0, 3); + world.setBlock(x + 6, y + -3, z + 29, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -3, z + 29, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -3, z + 29, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -3, z + 29, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -3, z + 29, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -3, z + 29, Block3, 0, 3); + world.setBlock(x + 12, y + -3, z + 29, Block3, 0, 3); + world.setBlock(x + 6, y + -3, z + 30, Block3, 0, 3); + world.setBlock(x + 7, y + -3, z + 30, Block3, 0, 3); + world.setBlock(x + 8, y + -3, z + 30, Block3, 0, 3); + world.setBlock(x + 9, y + -3, z + 30, Block3, 0, 3); + world.setBlock(x + 10, y + -3, z + 30, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 1, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 2, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 5, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 6, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 7, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 8, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 9, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 10, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 11, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 12, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 13, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 14, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 15, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 17, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 18, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 19, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 20, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 21, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 22, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 23, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 24, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 25, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 26, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 27, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 28, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 29, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 30, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 31, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 32, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 33, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 34, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 35, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 36, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 37, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 0, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 1, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 1, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 2, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 2, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 8, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 9, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 10, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 11, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 12, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 13, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 14, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 15, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 17, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 18, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 19, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 20, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 21, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 22, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 23, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 24, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 25, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 26, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 27, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 28, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 29, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 30, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 31, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 32, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 33, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 34, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 35, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 36, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 37, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 3, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 8, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 9, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 10, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 11, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 12, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 13, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 14, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 15, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 17, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 18, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 19, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 20, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 21, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 22, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 23, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 24, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 25, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 26, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 27, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 28, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 29, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 30, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 31, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 32, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 33, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 34, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 35, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 36, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 37, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 4, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 5, Block3, 0, 3); + world.setBlock(x + 8, y + -2, z + 5, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 5, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 5, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 5, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 6, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 6, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 6, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 6, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 7, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 7, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 7, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 7, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 8, Block3, 0, 3); + world.setBlock(x + 6, y + -2, z + 8, Block1, 0, 3); + world.setBlock(x + 7, y + -2, z + 8, Block1, 0, 3); + world.setBlock(x + 8, y + -2, z + 8, Block1, 0, 3); + world.setBlock(x + 9, y + -2, z + 8, Block1, 0, 3); + world.setBlock(x + 10, y + -2, z + 8, Block1, 0, 3); + world.setBlock(x + 38, y + -2, z + 8, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 8, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 8, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 9, Block3, 0, 3); + world.setBlock(x + 5, y + -2, z + 9, Block1, 0, 3); + world.setBlock(x + 6, y + -2, z + 9, Block1, 0, 3); + world.setBlock(x + 7, y + -2, z + 9, Block1, 0, 3); + world.setBlock(x + 8, y + -2, z + 9, Block1, 0, 3); + world.setBlock(x + 9, y + -2, z + 9, Block1, 0, 3); + world.setBlock(x + 10, y + -2, z + 9, Block1, 0, 3); + world.setBlock(x + 11, y + -2, z + 9, Block1, 0, 3); + world.setBlock(x + 38, y + -2, z + 9, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 9, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 9, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 10, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + -2, z + 10, Block1, 0, 3); + world.setBlock(x + 6, y + -2, z + 10, Block1, 0, 3); + world.setBlock(x + 7, y + -2, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 10, Block1, 0, 3); + world.setBlock(x + 11, y + -2, z + 10, Block1, 0, 3); + world.setBlock(x + 12, y + -2, z + 10, Block1, 0, 3); + world.setBlock(x + 38, y + -2, z + 10, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 10, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 10, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 11, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 11, Block1, 0, 3); + world.setBlock(x + 5, y + -2, z + 11, Block1, 0, 3); + world.setBlock(x + 6, y + -2, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -2, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -2, z + 11, Block1, 0, 3); + world.setBlock(x + 12, y + -2, z + 11, Block1, 0, 3); + world.setBlock(x + 38, y + -2, z + 11, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 11, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 11, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 12, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 12, Block1, 0, 3); + world.setBlock(x + 5, y + -2, z + 12, Block1, 0, 3); + world.setBlock(x + 6, y + -2, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -2, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -2, z + 12, Block1, 0, 3); + world.setBlock(x + 12, y + -2, z + 12, Block1, 0, 3); + world.setBlock(x + 38, y + -2, z + 12, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 12, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 12, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 13, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 13, Block1, 0, 3); + world.setBlock(x + 5, y + -2, z + 13, Block1, 0, 3); + world.setBlock(x + 6, y + -2, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -2, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -2, z + 13, Block1, 0, 3); + world.setBlock(x + 12, y + -2, z + 13, Block1, 0, 3); + world.setBlock(x + 38, y + -2, z + 13, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 13, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 13, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 14, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 14, Block1, 0, 3); + world.setBlock(x + 5, y + -2, z + 14, Block1, 0, 3); + world.setBlock(x + 6, y + -2, z + 14, Block1, 0, 3); + world.setBlock(x + 7, y + -2, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 14, Block1, 0, 3); + world.setBlock(x + 11, y + -2, z + 14, Block1, 0, 3); + world.setBlock(x + 12, y + -2, z + 14, Block1, 0, 3); + world.setBlock(x + 38, y + -2, z + 14, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 14, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 14, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 15, Block3, 0, 3); + world.setBlock(x + 5, y + -2, z + 15, Block1, 0, 3); + world.setBlock(x + 6, y + -2, z + 15, Block1, 0, 3); + world.setBlock(x + 7, y + -2, z + 15, Block1, 0, 3); + world.setBlock(x + 8, y + -2, z + 15, Block1, 0, 3); + world.setBlock(x + 9, y + -2, z + 15, Block1, 0, 3); + world.setBlock(x + 10, y + -2, z + 15, Block1, 0, 3); + world.setBlock(x + 11, y + -2, z + 15, Block1, 0, 3); + world.setBlock(x + 38, y + -2, z + 15, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 15, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 15, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 16, Block3, 0, 3); + world.setBlock(x + 6, y + -2, z + 16, Block1, 0, 3); + world.setBlock(x + 7, y + -2, z + 16, Block1, 0, 3); + world.setBlock(x + 8, y + -2, z + 16, Block1, 0, 3); + world.setBlock(x + 9, y + -2, z + 16, Block1, 0, 3); + world.setBlock(x + 10, y + -2, z + 16, Block1, 0, 3); + world.setBlock(x + 38, y + -2, z + 16, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 16, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 16, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 17, Block3, 0, 3); + world.setBlock(x + 7, y + -2, z + 17, Block1, 0, 3); + world.setBlock(x + 8, y + -2, z + 17, Block1, 0, 3); + world.setBlock(x + 9, y + -2, z + 17, Block1, 0, 3); + world.setBlock(x + 38, y + -2, z + 17, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 17, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 17, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 18, Block3, 0, 3); + world.setBlock(x + 7, y + -2, z + 18, Block1, 0, 3); + world.setBlock(x + 8, y + -2, z + 18, Block1, 0, 3); + world.setBlock(x + 9, y + -2, z + 18, Block1, 0, 3); + world.setBlock(x + 38, y + -2, z + 18, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 18, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 18, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 19, Block3, 0, 3); + world.setBlock(x + 7, y + -2, z + 19, Block1, 0, 3); + world.setBlock(x + 8, y + -2, z + 19, Block1, 0, 3); + world.setBlock(x + 9, y + -2, z + 19, Block1, 0, 3); + world.setBlock(x + 38, y + -2, z + 19, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 19, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 19, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 20, Block3, 0, 3); + world.setBlock(x + 6, y + -2, z + 20, Block3, 0, 3); + world.setBlock(x + 7, y + -2, z + 20, Block3, 0, 3); + world.setBlock(x + 8, y + -2, z + 20, Block3, 0, 3); + world.setBlock(x + 9, y + -2, z + 20, Block3, 0, 3); + world.setBlock(x + 10, y + -2, z + 20, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 20, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 20, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 20, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 5, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 6, y + -2, z + 21, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -2, z + 21, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 21, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 21, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 21, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 12, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 17, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 18, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 19, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 20, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 21, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 22, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 23, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 24, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 25, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 26, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 27, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 28, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 29, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 30, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 31, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 32, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 33, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 34, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 35, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 36, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 37, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 21, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 5, y + -2, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -2, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -2, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -2, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 17, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 18, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 19, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 20, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 21, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 22, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 23, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 24, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 25, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 26, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 27, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 28, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 29, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 30, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 31, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 32, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 33, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 34, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 35, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 36, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 37, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 22, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 3, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 5, y + -2, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -2, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -2, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -2, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -2, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 13, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 17, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 18, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 19, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 20, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 21, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 22, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 23, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 24, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 25, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 26, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 27, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 28, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 29, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 30, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 31, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 32, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 33, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 34, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 35, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 36, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 37, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 23, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 3, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 5, y + -2, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -2, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -2, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -2, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -2, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 13, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 17, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 18, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 19, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 20, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 21, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 22, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 23, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 24, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 25, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 26, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 27, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 28, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 29, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 30, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 31, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 32, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 33, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 34, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 35, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 36, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 37, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 24, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 3, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 5, y + -2, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -2, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -2, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -2, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -2, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 13, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 17, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 18, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 19, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 20, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 21, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 22, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 23, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 24, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 25, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 26, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 27, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 28, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 29, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 30, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 31, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 32, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 33, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 34, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 35, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 36, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 37, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 25, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 3, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 5, y + -2, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -2, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -2, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -2, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -2, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 13, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 17, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 18, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 19, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 20, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 21, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 22, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 23, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 24, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 25, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 26, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 27, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 28, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 29, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 30, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 31, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 32, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 33, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 34, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 35, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 36, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 37, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 26, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 3, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 5, y + -2, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -2, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -2, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -2, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -2, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 13, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 17, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 18, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 19, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 20, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 21, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 22, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 23, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 24, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 25, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 26, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 27, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 28, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 29, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 30, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 31, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 32, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 33, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 34, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 35, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 36, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 37, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 27, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 5, y + -2, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -2, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -2, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -2, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 17, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 18, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 19, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 20, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 21, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 22, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 23, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 24, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 25, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 26, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 27, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 28, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 29, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 30, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 31, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 32, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 33, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 34, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 35, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 36, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 37, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 28, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 29, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 29, Block3, 0, 3); + world.setBlock(x + 5, y + -2, z + 29, Block3, 0, 3); + world.setBlock(x + 6, y + -2, z + 29, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -2, z + 29, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -2, z + 29, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -2, z + 29, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -2, z + 29, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -2, z + 29, Block3, 0, 3); + world.setBlock(x + 12, y + -2, z + 29, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 29, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 30, Block3, 0, 3); + world.setBlock(x + 6, y + -2, z + 30, Block3, 0, 3); + world.setBlock(x + 7, y + -2, z + 30, Block3, 0, 3); + world.setBlock(x + 8, y + -2, z + 30, Block3, 0, 3); + world.setBlock(x + 9, y + -2, z + 30, Block3, 0, 3); + world.setBlock(x + 10, y + -2, z + 30, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 30, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 17, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 18, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 19, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 20, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 21, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 22, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 23, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 24, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 25, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 26, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 27, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 28, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 29, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 30, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 31, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 32, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 33, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 34, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 35, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 36, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 37, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 38, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 39, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 40, y + -2, z + 31, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 32, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 32, Block3, 0, 3); + world.setBlock(x + 0, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 1, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 2, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 3, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 4, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 5, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 6, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 7, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 8, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 9, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 10, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 11, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 12, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 13, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 14, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 15, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 16, y + -2, z + 33, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 1, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 2, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 4, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 5, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 6, y + -1, z + 0, Block3, 0, 3); + + new DesertAtom002().generate_r00(world, rand, x, y, z); + return true; + + } +} \ No newline at end of file diff --git a/com/hbm/world/DesertAtom002.java b/com/hbm/world/DesertAtom002.java new file mode 100644 index 000000000..5fad1986a --- /dev/null +++ b/com/hbm/world/DesertAtom002.java @@ -0,0 +1,2583 @@ +//Schematic to java Structure by jajo_11 | inspired by "MITHION'S.SCHEMATIC TO JAVA CONVERTINGTOOL" + +package com.hbm.world; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.HbmChestContents; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemDoor; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.World; + +public class DesertAtom002 +{ + Block Block1 = ModBlocks.brick_concrete; + Block Block2 = ModBlocks.yellow_barrel; + Block Block3 = ModBlocks.reinforced_sand; + Block Block4 = ModBlocks.nuke_man; + Block Block5 = ModBlocks.block_steel; + Block Block6 = ModBlocks.brick_light; + Block Block7 = ModBlocks.block_tungsten; + Block Block8 = ModBlocks.steel_poles; + Block Block9 = ModBlocks.tape_recorder; + Block Block10 = ModBlocks.machine_nuke_furnace_off; + Block Block11 = ModBlocks.reinforced_glass; + Block Block12 = ModBlocks.reinforced_lamp_off; + Block Block13 = ModBlocks.pole_satellite_receiver; + Block Block14 = ModBlocks.machine_generator; + Block Block15 = ModBlocks.block_titanium; + Block Block16 = ModBlocks.machine_reactor; + Block Block17 = ModBlocks.ore_schrabidium; + Block Block18 = ModBlocks.waste_planks; + Block Block19 = ModBlocks.machine_centrifuge; + Block Block20 = ModBlocks.machine_uf6_tank; + Block Block21 = ModBlocks.machine_puf6_tank; + Block Block22 = ModBlocks.reinforced_brick; + Block Block23 = ModBlocks.waste_earth; + Block Block24 = ModBlocks.block_lead; + Block Block25 = ModBlocks.red_wire_coated; + Block Block26 = ModBlocks.block_uranium; + Block Block27 = ModBlocks.pole_top; + Block Block28 = ModBlocks.machine_battery; + Block Block29 = ModBlocks.machine_electric_furnace_off; + + public boolean generate_r00(World world, Random rand, int x, int y, int z) + { + world.setBlock(x + 7, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 8, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 9, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 10, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 11, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 12, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 13, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 14, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 15, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 16, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 17, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 18, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 19, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 20, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 21, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 22, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 23, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 24, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 25, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 26, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 27, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 28, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 29, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 30, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 31, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 32, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 33, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 34, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 35, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 36, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 37, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 38, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 39, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 40, y + -1, z + 0, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 1, Block3, 0, 3); + world.setBlock(x + 40, y + -1, z + 1, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 2, Block3, 0, 3); + world.setBlock(x + 40, y + -1, z + 2, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 3, Block3, 0, 3); + world.setBlock(x + 8, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 9, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 10, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 11, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 12, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 13, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 14, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 15, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 16, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 17, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 18, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 19, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 20, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 21, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 22, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 23, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 24, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 25, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 26, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 27, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 28, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 29, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 30, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 31, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 32, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 33, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 34, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 35, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 36, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 37, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 38, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 3, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 3, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 4, Block3, 0, 3); + world.setBlock(x + 8, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 9, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 10, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 11, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 12, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 13, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 14, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 15, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 16, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 17, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 18, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 19, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 20, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 21, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 22, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 23, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 24, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 25, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 26, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 27, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 28, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 29, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 30, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 31, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 32, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 33, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 34, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 35, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 36, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 37, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 38, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 4, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 4, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 5, Block3, 0, 3); + world.setBlock(x + 5, y + -1, z + 5, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 5, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 5, Block5, 0, 3); + world.setBlock(x + 8, y + -1, z + 5, Block5, 0, 3); + world.setBlock(x + 9, y + -1, z + 5, Block5, 0, 3); + world.setBlock(x + 10, y + -1, z + 5, Block5, 0, 3); + world.setBlock(x + 11, y + -1, z + 5, Block5, 0, 3); + world.setBlock(x + 38, y + -1, z + 5, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 5, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 5, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 6, Block3, 0, 3); + world.setBlock(x + 5, y + -1, z + 6, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 6, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 6, Block5, 0, 3); + world.setBlock(x + 8, y + -1, z + 6, Block5, 0, 3); + world.setBlock(x + 9, y + -1, z + 6, Block5, 0, 3); + world.setBlock(x + 10, y + -1, z + 6, Block5, 0, 3); + world.setBlock(x + 11, y + -1, z + 6, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 18, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 19, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 20, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 21, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 22, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 23, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 24, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 25, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 26, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 27, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 28, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 29, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 30, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 31, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 32, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 33, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 34, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 35, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 36, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 37, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 6, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 6, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 6, Blocks.gravel, 0, 3); + world.setBlock(x + 0, y + -1, z + 7, Block3, 0, 3); + world.setBlock(x + 5, y + -1, z + 7, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 7, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 7, Block5, 0, 3); + world.setBlock(x + 8, y + -1, z + 7, Block5, 0, 3); + world.setBlock(x + 9, y + -1, z + 7, Block5, 0, 3); + world.setBlock(x + 10, y + -1, z + 7, Block5, 0, 3); + world.setBlock(x + 11, y + -1, z + 7, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 7, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 18, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 19, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 20, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 21, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 22, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 23, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 24, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 25, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 26, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 27, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 28, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 29, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 30, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 31, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 32, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 33, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 34, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 35, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 36, y + -1, z + 7, Block6, 0, 3); + world.setBlock(x + 37, y + -1, z + 7, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 7, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 7, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 7, Blocks.gravel, 0, 3); + world.setBlock(x + 0, y + -1, z + 8, Block3, 0, 3); + world.setBlock(x + 5, y + -1, z + 8, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 8, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 8, Block5, 0, 3); + world.setBlock(x + 8, y + -1, z + 8, Block5, 0, 3); + world.setBlock(x + 9, y + -1, z + 8, Block5, 0, 3); + world.setBlock(x + 10, y + -1, z + 8, Block5, 0, 3); + world.setBlock(x + 11, y + -1, z + 8, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 8, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 18, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 19, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 20, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 21, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 22, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 23, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 24, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 25, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 26, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 27, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 28, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 29, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 30, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 31, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 32, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 33, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 34, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 35, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 36, y + -1, z + 8, Block6, 0, 3); + world.setBlock(x + 37, y + -1, z + 8, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 8, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 8, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 8, Blocks.gravel, 0, 3); + world.setBlock(x + 0, y + -1, z + 9, Block3, 0, 3); + world.setBlock(x + 5, y + -1, z + 9, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 9, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 9, Block5, 0, 3); + world.setBlock(x + 8, y + -1, z + 9, Block5, 0, 3); + world.setBlock(x + 9, y + -1, z + 9, Block5, 0, 3); + world.setBlock(x + 10, y + -1, z + 9, Block5, 0, 3); + world.setBlock(x + 11, y + -1, z + 9, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 9, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 18, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 19, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 20, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 21, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 22, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 23, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 24, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 25, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 26, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 27, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 28, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 29, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 30, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 31, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 32, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 33, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 34, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 35, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 36, y + -1, z + 9, Block6, 0, 3); + world.setBlock(x + 37, y + -1, z + 9, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 9, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 9, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 9, Blocks.gravel, 0, 3); + world.setBlock(x + 0, y + -1, z + 10, Block3, 0, 3); + world.setBlock(x + 4, y + -1, z + 10, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 10, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 10, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -1, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -1, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -1, z + 10, Block5, 0, 3); + world.setBlock(x + 11, y + -1, z + 10, Block5, 0, 3); + world.setBlock(x + 12, y + -1, z + 10, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 10, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 18, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 19, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 20, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 21, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 22, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 23, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 24, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 25, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 26, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 27, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 28, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 29, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 30, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 31, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 32, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 33, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 34, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 35, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 36, y + -1, z + 10, Block6, 0, 3); + world.setBlock(x + 37, y + -1, z + 10, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 10, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 10, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 10, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 11, Block3, 0, 3); + world.setBlock(x + 4, y + -1, z + 11, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 11, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -1, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -1, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -1, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -1, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -1, z + 11, Block5, 0, 3); + world.setBlock(x + 12, y + -1, z + 11, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 11, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 18, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 19, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 20, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 21, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 22, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 23, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 24, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 25, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 26, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 27, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 28, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 29, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 30, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 31, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 32, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 33, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 34, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 35, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 36, y + -1, z + 11, Block6, 0, 3); + world.setBlock(x + 37, y + -1, z + 11, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 11, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 11, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 11, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 12, Block3, 0, 3); + world.setBlock(x + 4, y + -1, z + 12, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 12, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -1, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -1, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -1, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -1, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -1, z + 12, Block5, 0, 3); + world.setBlock(x + 12, y + -1, z + 12, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 12, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 18, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 19, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 20, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 21, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 22, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 23, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 24, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 25, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 26, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 27, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 28, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 29, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 30, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 31, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 32, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 33, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 34, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 35, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 36, y + -1, z + 12, Block6, 0, 3); + world.setBlock(x + 37, y + -1, z + 12, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 12, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 12, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 12, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 13, Block3, 0, 3); + world.setBlock(x + 4, y + -1, z + 13, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 13, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -1, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -1, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -1, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -1, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -1, z + 13, Block5, 0, 3); + world.setBlock(x + 12, y + -1, z + 13, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 13, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 18, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 19, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 20, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 21, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 22, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 23, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 24, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 25, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 26, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 27, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 28, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 29, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 30, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 31, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 32, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 33, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 34, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 35, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 36, y + -1, z + 13, Block6, 0, 3); + world.setBlock(x + 37, y + -1, z + 13, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 13, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 13, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 13, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 14, Block3, 0, 3); + world.setBlock(x + 4, y + -1, z + 14, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 14, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 14, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -1, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -1, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -1, z + 14, Block5, 0, 3); + world.setBlock(x + 11, y + -1, z + 14, Block5, 0, 3); + world.setBlock(x + 12, y + -1, z + 14, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 14, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 18, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 19, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 20, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 21, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 22, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 23, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 24, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 25, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 26, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 27, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 28, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 29, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 30, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 31, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 32, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 33, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 34, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 35, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 36, y + -1, z + 14, Block6, 0, 3); + world.setBlock(x + 37, y + -1, z + 14, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 14, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 14, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 14, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 15, Block3, 0, 3); + world.setBlock(x + 5, y + -1, z + 15, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 15, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 15, Block5, 0, 3); + world.setBlock(x + 8, y + -1, z + 15, Block5, 0, 3); + world.setBlock(x + 9, y + -1, z + 15, Block5, 0, 3); + world.setBlock(x + 10, y + -1, z + 15, Block5, 0, 3); + world.setBlock(x + 11, y + -1, z + 15, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 15, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 18, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 19, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 20, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 21, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 22, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 23, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 24, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 25, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 26, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 27, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 28, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 29, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 30, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 31, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 32, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 33, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 34, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 35, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 36, y + -1, z + 15, Block6, 0, 3); + world.setBlock(x + 37, y + -1, z + 15, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 15, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 15, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 15, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 16, Block3, 0, 3); + world.setBlock(x + 6, y + -1, z + 16, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 16, Block5, 0, 3); + world.setBlock(x + 8, y + -1, z + 16, Block5, 0, 3); + world.setBlock(x + 9, y + -1, z + 16, Block5, 0, 3); + world.setBlock(x + 10, y + -1, z + 16, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 16, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 18, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 19, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 20, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 21, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 22, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 23, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 24, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 25, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 26, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 27, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 28, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 29, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 30, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 31, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 32, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 33, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 34, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 35, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 36, y + -1, z + 16, Block6, 0, 3); + world.setBlock(x + 37, y + -1, z + 16, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 16, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 16, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 16, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 17, Block3, 0, 3); + world.setBlock(x + 16, y + -1, z + 17, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 18, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 19, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 20, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 21, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 22, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 23, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 24, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 25, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 26, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 27, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 28, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 29, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 30, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 31, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 32, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 33, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 34, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 35, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 36, y + -1, z + 17, Block6, 0, 3); + world.setBlock(x + 37, y + -1, z + 17, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 17, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 17, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 17, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 18, Block3, 0, 3); + world.setBlock(x + 16, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 18, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 19, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 20, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 21, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 22, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 23, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 24, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 25, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 26, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 27, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 28, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 29, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 30, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 31, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 32, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 33, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 34, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 35, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 36, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 37, y + -1, z + 18, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 18, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 18, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 18, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 19, Block3, 0, 3); + world.setBlock(x + 38, y + -1, z + 19, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 19, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 19, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 20, Block3, 0, 3); + world.setBlock(x + 6, y + -1, z + 20, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 20, Block5, 0, 3); + world.setBlock(x + 8, y + -1, z + 20, Block5, 0, 3); + world.setBlock(x + 9, y + -1, z + 20, Block5, 0, 3); + world.setBlock(x + 10, y + -1, z + 20, Block5, 0, 3); + world.setBlock(x + 38, y + -1, z + 20, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 20, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 20, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 21, Block3, 0, 3); + world.setBlock(x + 4, y + -1, z + 21, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 21, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 21, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 21, Block5, 0, 3); + world.setBlock(x + 8, y + -1, z + 21, Block5, 0, 3); + world.setBlock(x + 9, y + -1, z + 21, Block5, 0, 3); + world.setBlock(x + 10, y + -1, z + 21, Block5, 0, 3); + world.setBlock(x + 11, y + -1, z + 21, Block5, 0, 3); + world.setBlock(x + 12, y + -1, z + 21, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 18, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 19, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 20, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 21, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 22, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 23, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 24, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 25, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 26, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 27, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 28, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 29, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 30, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 31, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 32, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 33, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 34, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 35, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 36, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 37, y + -1, z + 21, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 21, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 21, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 21, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 22, Block3, 0, 3); + world.setBlock(x + 4, y + -1, z + 22, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 22, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -1, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -1, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -1, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -1, z + 22, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -1, z + 22, Block5, 0, 3); + world.setBlock(x + 12, y + -1, z + 22, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 18, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 19, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 20, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 21, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 22, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 23, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 24, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 25, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 26, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 27, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 28, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 29, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 30, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 31, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 32, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 33, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 34, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 35, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 36, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 37, y + -1, z + 22, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 22, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 22, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 22, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 23, Block3, 0, 3); + world.setBlock(x + 3, y + -1, z + 23, Block5, 0, 3); + world.setBlock(x + 4, y + -1, z + 23, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -1, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -1, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -1, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -1, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -1, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -1, z + 23, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -1, z + 23, Block5, 0, 3); + world.setBlock(x + 13, y + -1, z + 23, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 18, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 19, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 20, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 21, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 22, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 23, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 24, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 25, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 26, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 27, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 28, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 29, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 30, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 31, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 32, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 33, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 34, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 35, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 36, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 37, y + -1, z + 23, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 23, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 23, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 23, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 24, Block3, 0, 3); + world.setBlock(x + 3, y + -1, z + 24, Block5, 0, 3); + world.setBlock(x + 4, y + -1, z + 24, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -1, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -1, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -1, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -1, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -1, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -1, z + 24, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -1, z + 24, Block5, 0, 3); + world.setBlock(x + 13, y + -1, z + 24, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 18, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 19, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 20, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 21, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 22, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 23, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 24, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 25, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 26, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 27, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 28, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 29, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 30, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 31, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 32, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 33, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 34, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 35, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 36, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 37, y + -1, z + 24, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 24, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 24, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 24, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 25, Block3, 0, 3); + world.setBlock(x + 3, y + -1, z + 25, Block5, 0, 3); + world.setBlock(x + 4, y + -1, z + 25, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -1, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -1, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -1, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -1, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -1, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -1, z + 25, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -1, z + 25, Block5, 0, 3); + world.setBlock(x + 13, y + -1, z + 25, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 18, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 19, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 20, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 21, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 22, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 23, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 24, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 25, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 26, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 27, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 28, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 29, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 30, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 31, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 32, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 33, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 34, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 35, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 36, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 37, y + -1, z + 25, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 25, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 25, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 25, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 26, Block3, 0, 3); + world.setBlock(x + 3, y + -1, z + 26, Block5, 0, 3); + world.setBlock(x + 4, y + -1, z + 26, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -1, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -1, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -1, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -1, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -1, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -1, z + 26, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -1, z + 26, Block5, 0, 3); + world.setBlock(x + 13, y + -1, z + 26, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 18, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 19, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 20, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 21, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 22, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 23, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 24, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 25, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 26, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 27, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 28, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 29, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 30, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 31, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 32, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 33, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 34, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 35, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 36, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 37, y + -1, z + 26, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 26, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 26, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 26, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 27, Block3, 0, 3); + world.setBlock(x + 3, y + -1, z + 27, Block5, 0, 3); + world.setBlock(x + 4, y + -1, z + 27, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 6, y + -1, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -1, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -1, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -1, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -1, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -1, z + 27, Blocks.water, 0, 3); + world.setBlock(x + 12, y + -1, z + 27, Block5, 0, 3); + world.setBlock(x + 13, y + -1, z + 27, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 18, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 19, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 20, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 21, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 22, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 23, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 24, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 25, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 26, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 27, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 28, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 29, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 30, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 31, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 32, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 33, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 34, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 35, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 36, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 37, y + -1, z + 27, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 27, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 27, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 27, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 28, Block3, 0, 3); + world.setBlock(x + 4, y + -1, z + 28, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 28, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 7, y + -1, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 8, y + -1, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 9, y + -1, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 10, y + -1, z + 28, Blocks.water, 0, 3); + world.setBlock(x + 11, y + -1, z + 28, Block5, 0, 3); + world.setBlock(x + 12, y + -1, z + 28, Block5, 0, 3); + world.setBlock(x + 16, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 17, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 18, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 19, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 20, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 21, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 22, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 23, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 24, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 25, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 26, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 27, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 28, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 29, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 30, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 31, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 32, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 33, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 34, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 35, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 36, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 37, y + -1, z + 28, Block1, 0, 3); + world.setBlock(x + 38, y + -1, z + 28, Blocks.gravel, 0, 3); + world.setBlock(x + 39, y + -1, z + 28, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + -1, z + 28, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 29, Block3, 0, 3); + world.setBlock(x + 4, y + -1, z + 29, Block5, 0, 3); + world.setBlock(x + 5, y + -1, z + 29, Block5, 0, 3); + world.setBlock(x + 6, y + -1, z + 29, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 29, Block5, 0, 3); + world.setBlock(x + 8, y + -1, z + 29, Block5, 0, 3); + world.setBlock(x + 9, y + -1, z + 29, Block5, 0, 3); + world.setBlock(x + 10, y + -1, z + 29, Block5, 0, 3); + world.setBlock(x + 11, y + -1, z + 29, Block5, 0, 3); + world.setBlock(x + 12, y + -1, z + 29, Block5, 0, 3); + world.setBlock(x + 40, y + -1, z + 29, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 30, Block3, 0, 3); + world.setBlock(x + 6, y + -1, z + 30, Block5, 0, 3); + world.setBlock(x + 7, y + -1, z + 30, Block5, 0, 3); + world.setBlock(x + 8, y + -1, z + 30, Block5, 0, 3); + world.setBlock(x + 9, y + -1, z + 30, Block5, 0, 3); + world.setBlock(x + 10, y + -1, z + 30, Block5, 0, 3); + world.setBlock(x + 40, y + -1, z + 30, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 16, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 17, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 18, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 19, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 20, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 21, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 22, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 23, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 24, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 25, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 26, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 27, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 28, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 29, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 30, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 31, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 32, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 33, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 34, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 35, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 36, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 37, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 38, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 39, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 40, y + -1, z + 31, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 32, Block3, 0, 3); + world.setBlock(x + 16, y + -1, z + 32, Block3, 0, 3); + world.setBlock(x + 0, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 1, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 2, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 3, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 4, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 5, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 6, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 7, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 8, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 9, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 10, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 11, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 12, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 13, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 14, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 15, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 16, y + -1, z + 33, Block3, 0, 3); + world.setBlock(x + 0, y + 0, z + 0, Block5, 0, 3); + world.setBlock(x + 1, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 2, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 7, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 8, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 9, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 10, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 12, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 13, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 14, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 15, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 17, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 18, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 19, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 20, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 21, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 22, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 24, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 25, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 26, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 27, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 28, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 29, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 30, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 31, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 32, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 33, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 34, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 35, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 36, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 37, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 38, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 39, y + 0, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 0, z + 0, Block5, 0, 3); + world.setBlock(x + 0, y + 0, z + 1, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 0, z + 1, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 2, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 0, z + 2, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 3, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 0, z + 3, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 4, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 0, z + 4, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 5, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 0, z + 5, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 6, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 0, z + 6, Block5, 0, 3); + world.setBlock(x + 7, y + 0, z + 6, Block5, 0, 3); + world.setBlock(x + 8, y + 0, z + 6, Block5, 0, 3); + world.setBlock(x + 9, y + 0, z + 6, Block5, 0, 3); + world.setBlock(x + 10, y + 0, z + 6, Block5, 0, 3); + world.setBlock(x + 16, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 17, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 18, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 19, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 20, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 21, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 22, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 23, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 24, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 25, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 26, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 27, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 28, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 29, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 30, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 31, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 32, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 33, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 34, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 35, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 36, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 37, y + 0, z + 6, Block1, 0, 3); + world.setBlock(x + 40, y + 0, z + 6, Block5, 0, 3); + world.setBlock(x + 0, y + 0, z + 7, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 0, z + 7, Block5, 0, 3); + world.setBlock(x + 7, y + 0, z + 7, Block5, 0, 3); + world.setBlock(x + 8, y + 0, z + 7, Block5, 0, 3); + world.setBlock(x + 9, y + 0, z + 7, Block5, 0, 3); + world.setBlock(x + 10, y + 0, z + 7, Block5, 0, 3); + world.setBlock(x + 16, y + 0, z + 7, Block1, 0, 3); + world.setBlock(x + 17, y + 0, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 18, y + 0, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 19, y + 0, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 20, y + 0, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 21, y + 0, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 22, y + 0, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 29, y + 0, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 31, y + 0, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 32, y + 0, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 33, y + 0, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 0, z + 7, Block1, 0, 3); + world.setBlock(x + 40, y + 0, z + 7, Blocks.fence, 0, 3); + world.setBlock(x + 0, y + 0, z + 8, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 0, z + 8, Block5, 0, 3); + world.setBlock(x + 7, y + 0, z + 8, Block5, 0, 3); + world.setBlock(x + 8, y + 0, z + 8, Block5, 0, 3); + world.setBlock(x + 9, y + 0, z + 8, Block5, 0, 3); + world.setBlock(x + 10, y + 0, z + 8, Block5, 0, 3); + world.setBlock(x + 16, y + 0, z + 8, Block1, 0, 3); + world.setBlock(x + 17, y + 0, z + 8, Blocks.web, 0, 3); + //world.setBlock(x + 37, y + 0, z + 8, Blocks.iron_door, 2, 3); + ItemDoor.placeDoorBlock(world, x + 37, y + 0, z + 8, 2, Blocks.iron_door); + world.setBlock(x + 40, y + 0, z + 8, Blocks.fence, 0, 3); + world.setBlock(x + 0, y + 0, z + 9, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 0, z + 9, Block5, 0, 3); + world.setBlock(x + 6, y + 0, z + 9, Block2, 0, 3); + world.setBlock(x + 7, y + 0, z + 9, Block2, 0, 3); + world.setBlock(x + 8, y + 0, z + 9, Block2, 0, 3); + world.setBlock(x + 9, y + 0, z + 9, Block2, 0, 3); + world.setBlock(x + 10, y + 0, z + 9, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 0, z + 9, Block5, 0, 3); + world.setBlock(x + 16, y + 0, z + 9, Block1, 0, 3); + world.setBlock(x + 27, y + 0, z + 9, Blocks.web, 0, 3); + //world.setBlock(x + 37, y + 0, z + 9, Blocks.iron_door, 2, 3); + ItemDoor.placeDoorBlock(world, x + 37, y + 0, z + 9, 2, Blocks.iron_door); + world.setBlock(x + 40, y + 0, z + 9, Blocks.fence, 0, 3); + world.setBlock(x + 0, y + 0, z + 10, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 0, z + 10, Block5, 0, 3); + world.setBlock(x + 5, y + 0, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 6, y + 0, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 0, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 0, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 0, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 0, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 0, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 12, y + 0, z + 10, Block5, 0, 3); + world.setBlock(x + 16, y + 0, z + 10, Block1, 0, 3); + world.setBlock(x + 21, y + 0, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 23, y + 0, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 24, y + 0, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 27, y + 0, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 28, y + 0, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 29, y + 0, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 31, y + 0, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 35, y + 0, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 37, y + 0, z + 10, Block1, 0, 3); + world.setBlock(x + 40, y + 0, z + 10, Blocks.fence, 0, 3); + world.setBlock(x + 0, y + 0, z + 11, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 0, z + 11, Block5, 0, 3); + world.setBlock(x + 5, y + 0, z + 11, Block2, 0, 3); + world.setBlock(x + 6, y + 0, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 0, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 0, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 0, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 0, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 0, z + 11, Block2, 0, 3); + world.setBlock(x + 12, y + 0, z + 11, Block5, 0, 3); + world.setBlock(x + 16, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 19, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 20, y + 0, z + 11, Block1, 0, 3); + //world.setBlock(x + 21, y + 0, z + 11, Blocks.iron_door, 0, 3); + ItemDoor.placeDoorBlock(world, x + 21, y + 0, z + 11, 0, Blocks.iron_door); + world.setBlock(x + 22, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 23, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 24, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 25, y + 0, z + 11, Block1, 0, 3); + //world.setBlock(x + 26, y + 0, z + 11, Blocks.wooden_door, 1, 3); + ItemDoor.placeDoorBlock(world, x + 26, y + 0, z + 11, 1, Blocks.wooden_door); + world.setBlock(x + 27, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 28, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 29, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 30, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 31, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 32, y + 0, z + 11, Block1, 0, 3); + //world.setBlock(x + 33, y + 0, z + 11, Blocks.wooden_door, 0, 3); + ItemDoor.placeDoorBlock(world, x + 33, y + 0, z + 11, 0, Blocks.wooden_door); + world.setBlock(x + 34, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 35, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 36, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 37, y + 0, z + 11, Block1, 0, 3); + world.setBlock(x + 40, y + 0, z + 11, Block5, 0, 3); + world.setBlock(x + 0, y + 0, z + 12, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 0, z + 12, Block5, 0, 3); + world.setBlock(x + 5, y + 0, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 6, y + 0, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 0, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 0, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 0, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 0, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 0, z + 12, Block2, 0, 3); + world.setBlock(x + 12, y + 0, z + 12, Block5, 0, 3); + world.setBlock(x + 16, y + 0, z + 12, Block1, 0, 3); + world.setBlock(x + 17, y + 0, z + 12, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 18, y + 0, z + 12, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 19, y + 0, z + 12, Block1, 0, 3); + world.setBlock(x + 20, y + 0, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 21, y + 0, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 22, y + 0, z + 12, Block7, 0, 3); + world.setBlock(x + 23, y + 0, z + 12, Block1, 0, 3); + world.setBlock(x + 24, y + 0, z + 12, Block5, 0, 3); + world.setBlock(x + 25, y + 0, z + 12, Blocks.vine, 2, 3); + world.setBlock(x + 27, y + 0, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 28, y + 0, z + 12, Block8, 3, 3); + world.setBlock(x + 29, y + 0, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 0, z + 12, Block1, 0, 3); + world.setBlock(x + 31, y + 0, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 33, y + 0, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 36, y + 0, z + 12, Blocks.chest, 3, 3); + if(world.getBlock(x + 36, y + 0, z + 12) == Blocks.chest) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(1), (TileEntityChest)world.getTileEntity(x + 36, y + 0, z + 12), 8); + } + world.setBlock(x + 37, y + 0, z + 12, Block1, 0, 3); + world.setBlock(x + 40, y + 0, z + 12, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 13, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 0, z + 13, Block5, 0, 3); + world.setBlock(x + 5, y + 0, z + 13, Block2, 0, 3); + world.setBlock(x + 6, y + 0, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 0, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 0, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 0, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 0, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 0, z + 13, Block2, 0, 3); + world.setBlock(x + 12, y + 0, z + 13, Block5, 0, 3); + world.setBlock(x + 16, y + 0, z + 13, Block1, 0, 3); + world.setBlock(x + 17, y + 0, z + 13, Block1, 0, 3); + world.setBlock(x + 18, y + 0, z + 13, Block1, 0, 3); + world.setBlock(x + 19, y + 0, z + 13, Block1, 0, 3); + world.setBlock(x + 22, y + 0, z + 13, Blocks.chest, 4, 3); + if(world.getBlock(x + 22, y + 0, z + 13) == Blocks.chest) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(1), (TileEntityChest)world.getTileEntity(x + 22, y + 0, z + 13), 8); + } + world.setBlock(x + 23, y + 0, z + 13, Block1, 0, 3); + world.setBlock(x + 24, y + 0, z + 13, Block9, 5, 3); + world.setBlock(x + 30, y + 0, z + 13, Block1, 0, 3); + world.setBlock(x + 31, y + 0, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 0, z + 13, Block1, 0, 3); + world.setBlock(x + 40, y + 0, z + 13, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 14, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 0, z + 14, Block5, 0, 3); + world.setBlock(x + 5, y + 0, z + 14, Block2, 0, 3); + world.setBlock(x + 6, y + 0, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 0, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 0, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 0, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 0, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 0, z + 14, Block2, 0, 3); + world.setBlock(x + 12, y + 0, z + 14, Block5, 0, 3); + world.setBlock(x + 16, y + 0, z + 14, Block1, 0, 3); + world.setBlock(x + 17, y + 0, z + 14, Block1, 0, 3); + world.setBlock(x + 18, y + 0, z + 14, Block1, 0, 3); + world.setBlock(x + 19, y + 0, z + 14, Block1, 0, 3); + world.setBlock(x + 20, y + 0, z + 14, Blocks.vine, 2, 3); + world.setBlock(x + 22, y + 0, z + 14, Block7, 0, 3); + world.setBlock(x + 23, y + 0, z + 14, Block1, 0, 3); + world.setBlock(x + 24, y + 0, z + 14, Block9, 5, 3); + world.setBlock(x + 29, y + 0, z + 14, Blocks.oak_stairs, 7, 3); + world.setBlock(x + 30, y + 0, z + 14, Block1, 0, 3); + world.setBlock(x + 31, y + 0, z + 14, Blocks.vine, 2, 3); + world.setBlock(x + 35, y + 0, z + 14, Blocks.stone_brick_stairs, 4, 3); + world.setBlock(x + 36, y + 0, z + 14, Blocks.stonebrick, 0, 3); + world.setBlock(x + 37, y + 0, z + 14, Block1, 0, 3); + world.setBlock(x + 40, y + 0, z + 14, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 15, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 0, z + 15, Block5, 0, 3); + world.setBlock(x + 6, y + 0, z + 15, Block2, 0, 3); + world.setBlock(x + 7, y + 0, z + 15, Block2, 0, 3); + world.setBlock(x + 8, y + 0, z + 15, Block2, 0, 3); + world.setBlock(x + 9, y + 0, z + 15, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 0, z + 15, Block2, 0, 3); + world.setBlock(x + 11, y + 0, z + 15, Block5, 0, 3); + world.setBlock(x + 16, y + 0, z + 15, Block1, 0, 3); + world.setBlock(x + 17, y + 0, z + 15, Block1, 0, 3); + world.setBlock(x + 18, y + 0, z + 15, Block1, 0, 3); + world.setBlock(x + 19, y + 0, z + 15, Block1, 0, 3); + world.setBlock(x + 20, y + 0, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 21, y + 0, z + 15, Blocks.vine, 8, 3); + world.setBlock(x + 22, y + 0, z + 15, Block8, 4, 3); + world.setBlock(x + 23, y + 0, z + 15, Block1, 0, 3); + world.setBlock(x + 24, y + 0, z + 15, Block9, 5, 3); + world.setBlock(x + 25, y + 0, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 27, y + 0, z + 15, Blocks.oak_stairs, 1, 3); + world.setBlock(x + 29, y + 0, z + 15, Blocks.wooden_slab, 8, 3); + world.setBlock(x + 30, y + 0, z + 15, Block1, 0, 3); + world.setBlock(x + 31, y + 0, z + 15, Blocks.web, 0, 3); + world.setBlock(x + 35, y + 0, z + 15, Blocks.stone_brick_stairs, 4, 3); + world.setBlock(x + 36, y + 0, z + 15, Blocks.stonebrick, 0, 3); + world.setBlock(x + 37, y + 0, z + 15, Block1, 0, 3); + world.setBlock(x + 40, y + 0, z + 15, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 16, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 0, z + 16, Block5, 0, 3); + world.setBlock(x + 7, y + 0, z + 16, Block5, 0, 3); + world.setBlock(x + 8, y + 0, z + 16, Block5, 0, 3); + world.setBlock(x + 9, y + 0, z + 16, Block5, 0, 3); + world.setBlock(x + 10, y + 0, z + 16, Block5, 0, 3); + world.setBlock(x + 16, y + 0, z + 16, Block1, 0, 3); + world.setBlock(x + 17, y + 0, z + 16, Block1, 0, 3); + world.setBlock(x + 18, y + 0, z + 16, Block1, 0, 3); + world.setBlock(x + 19, y + 0, z + 16, Block1, 0, 3); + world.setBlock(x + 20, y + 0, z + 16, Blocks.vine, 2, 3); + world.setBlock(x + 21, y + 0, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 22, y + 0, z + 16, Block10, 4, 3); + world.setBlock(x + 23, y + 0, z + 16, Block1, 0, 3); + world.setBlock(x + 24, y + 0, z + 16, Block5, 0, 3); + world.setBlock(x + 29, y + 0, z + 16, Blocks.wooden_slab, 8, 3); + world.setBlock(x + 30, y + 0, z + 16, Block1, 0, 3); + world.setBlock(x + 35, y + 0, z + 16, Blocks.stone_brick_stairs, 4, 3); + world.setBlock(x + 36, y + 0, z + 16, Blocks.stonebrick, 0, 3); + world.setBlock(x + 37, y + 0, z + 16, Block1, 0, 3); + world.setBlock(x + 40, y + 0, z + 16, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 0, z + 17, Block1, 0, 3); + world.setBlock(x + 17, y + 0, z + 17, Block1, 0, 3); + world.setBlock(x + 18, y + 0, z + 17, Block1, 0, 3); + world.setBlock(x + 19, y + 0, z + 17, Block1, 0, 3); + world.setBlock(x + 20, y + 0, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 21, y + 0, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 22, y + 0, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 0, z + 17, Block1, 0, 3); + world.setBlock(x + 24, y + 0, z + 17, Block5, 0, 3); + world.setBlock(x + 27, y + 0, z + 17, Blocks.oak_stairs, 5, 3); + world.setBlock(x + 28, y + 0, z + 17, Blocks.wooden_slab, 8, 3); + world.setBlock(x + 29, y + 0, z + 17, Blocks.wooden_slab, 8, 3); + world.setBlock(x + 30, y + 0, z + 17, Block1, 0, 3); + world.setBlock(x + 31, y + 0, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 35, y + 0, z + 17, Blocks.stone_brick_stairs, 4, 3); + world.setBlock(x + 36, y + 0, z + 17, Blocks.stonebrick, 0, 3); + world.setBlock(x + 37, y + 0, z + 17, Block1, 0, 3); + world.setBlock(x + 40, y + 0, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 18, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 17, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 18, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 19, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 20, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 21, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 22, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 23, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 24, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 25, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 26, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 27, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 28, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 29, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 30, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 31, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 32, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 33, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 34, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 35, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 36, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 37, y + 0, z + 18, Block1, 0, 3); + world.setBlock(x + 40, y + 0, z + 18, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 19, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 0, z + 19, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 20, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 0, z + 20, Block8, 2, 3); + world.setBlock(x + 7, y + 0, z + 20, Block8, 2, 3); + world.setBlock(x + 8, y + 0, z + 20, Block8, 2, 3); + world.setBlock(x + 9, y + 0, z + 20, Block8, 2, 3); + world.setBlock(x + 10, y + 0, z + 20, Block8, 2, 3); + world.setBlock(x + 40, y + 0, z + 20, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 21, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 0, z + 21, Block5, 0, 3); + world.setBlock(x + 5, y + 0, z + 21, Block8, 2, 3); + world.setBlock(x + 11, y + 0, z + 21, Block8, 2, 3); + world.setBlock(x + 12, y + 0, z + 21, Block5, 0, 3); + world.setBlock(x + 29, y + 0, z + 21, Block2, 0, 3); + world.setBlock(x + 40, y + 0, z + 21, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 22, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 0, z + 22, Block8, 4, 3); + world.setBlock(x + 12, y + 0, z + 22, Block8, 5, 3); + world.setBlock(x + 17, y + 0, z + 22, Block2, 0, 3); + world.setBlock(x + 19, y + 0, z + 22, Block2, 0, 3); + world.setBlock(x + 22, y + 0, z + 22, Block2, 0, 3); + world.setBlock(x + 25, y + 0, z + 22, Block2, 0, 3); + world.setBlock(x + 26, y + 0, z + 22, Block2, 0, 3); + world.setBlock(x + 28, y + 0, z + 22, Block2, 0, 3); + world.setBlock(x + 29, y + 0, z + 22, Block2, 0, 3); + world.setBlock(x + 30, y + 0, z + 22, Block2, 0, 3); + world.setBlock(x + 35, y + 0, z + 22, Block2, 0, 3); + world.setBlock(x + 40, y + 0, z + 22, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 23, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 0, z + 23, Block8, 4, 3); + world.setBlock(x + 13, y + 0, z + 23, Block8, 5, 3); + world.setBlock(x + 17, y + 0, z + 23, Block2, 0, 3); + world.setBlock(x + 18, y + 0, z + 23, Block2, 0, 3); + world.setBlock(x + 19, y + 0, z + 23, Block2, 0, 3); + world.setBlock(x + 23, y + 0, z + 23, Block2, 0, 3); + world.setBlock(x + 25, y + 0, z + 23, Block2, 0, 3); + world.setBlock(x + 29, y + 0, z + 23, Block2, 0, 3); + world.setBlock(x + 30, y + 0, z + 23, Block2, 0, 3); + world.setBlock(x + 34, y + 0, z + 23, Block2, 0, 3); + world.setBlock(x + 35, y + 0, z + 23, Block2, 0, 3); + world.setBlock(x + 36, y + 0, z + 23, Block2, 0, 3); + world.setBlock(x + 40, y + 0, z + 23, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 24, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 0, z + 24, Block8, 4, 3); + world.setBlock(x + 13, y + 0, z + 24, Block8, 5, 3); + world.setBlock(x + 21, y + 0, z + 24, Block2, 0, 3); + world.setBlock(x + 22, y + 0, z + 24, Block2, 0, 3); + world.setBlock(x + 23, y + 0, z + 24, Block2, 0, 3); + world.setBlock(x + 26, y + 0, z + 24, Block2, 0, 3); + world.setBlock(x + 33, y + 0, z + 24, Block2, 0, 3); + world.setBlock(x + 34, y + 0, z + 24, Block2, 0, 3); + world.setBlock(x + 35, y + 0, z + 24, Block2, 0, 3); + world.setBlock(x + 40, y + 0, z + 24, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 25, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 0, z + 25, Block8, 4, 3); + world.setBlock(x + 13, y + 0, z + 25, Block8, 5, 3); + world.setBlock(x + 17, y + 0, z + 25, Block2, 0, 3); + world.setBlock(x + 29, y + 0, z + 25, Blocks.flower_pot, 0, 3); + world.setBlock(x + 40, y + 0, z + 25, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 26, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 0, z + 26, Block8, 4, 3); + world.setBlock(x + 13, y + 0, z + 26, Block8, 5, 3); + world.setBlock(x + 19, y + 0, z + 26, Block2, 0, 3); + world.setBlock(x + 20, y + 0, z + 26, Block2, 0, 3); + world.setBlock(x + 21, y + 0, z + 26, Block2, 0, 3); + world.setBlock(x + 24, y + 0, z + 26, Blocks.chest, 2, 3); + if(world.getBlock(x + 24, y + 0, z + 26) == Blocks.chest) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(4), (TileEntityChest)world.getTileEntity(x + 24, y + 0, z + 26), 8); + } + world.setBlock(x + 25, y + 0, z + 26, Block2, 0, 3); + world.setBlock(x + 30, y + 0, z + 26, Block2, 0, 3); + world.setBlock(x + 35, y + 0, z + 26, Block2, 0, 3); + world.setBlock(x + 40, y + 0, z + 26, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 27, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 0, z + 27, Block8, 4, 3); + world.setBlock(x + 13, y + 0, z + 27, Block8, 5, 3); + world.setBlock(x + 18, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 19, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 20, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 21, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 23, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 24, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 25, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 26, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 29, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 30, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 31, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 35, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 36, y + 0, z + 27, Block2, 0, 3); + world.setBlock(x + 40, y + 0, z + 27, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 28, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 0, z + 28, Block8, 4, 3); + world.setBlock(x + 12, y + 0, z + 28, Block8, 5, 3); + world.setBlock(x + 24, y + 0, z + 28, Block2, 0, 3); + world.setBlock(x + 25, y + 0, z + 28, Block2, 0, 3); + world.setBlock(x + 26, y + 0, z + 28, Block2, 0, 3); + world.setBlock(x + 29, y + 0, z + 28, Block2, 0, 3); + world.setBlock(x + 30, y + 0, z + 28, Block2, 0, 3); + world.setBlock(x + 40, y + 0, z + 28, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 29, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 0, z + 29, Block5, 0, 3); + world.setBlock(x + 5, y + 0, z + 29, Block8, 3, 3); + world.setBlock(x + 11, y + 0, z + 29, Block8, 3, 3); + world.setBlock(x + 12, y + 0, z + 29, Block5, 0, 3); + world.setBlock(x + 40, y + 0, z + 29, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 30, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 0, z + 30, Block8, 3, 3); + world.setBlock(x + 7, y + 0, z + 30, Block8, 3, 3); + world.setBlock(x + 8, y + 0, z + 30, Block8, 3, 3); + world.setBlock(x + 9, y + 0, z + 30, Block8, 3, 3); + world.setBlock(x + 10, y + 0, z + 30, Block8, 3, 3); + world.setBlock(x + 40, y + 0, z + 30, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 0, z + 31, Block5, 0, 3); + world.setBlock(x + 17, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 18, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 19, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 20, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 21, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 22, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 24, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 25, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 26, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 27, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 28, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 29, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 30, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 31, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 32, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 33, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 34, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 35, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 36, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 37, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 38, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 39, y + 0, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 0, z + 31, Block5, 0, 3); + world.setBlock(x + 0, y + 0, z + 32, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 0, z + 32, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 0, z + 33, Block5, 0, 3); + world.setBlock(x + 1, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 2, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 7, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 8, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 9, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 10, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 12, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 13, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 14, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 15, y + 0, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 0, z + 33, Block5, 0, 3); + world.setBlock(x + 0, y + 1, z + 0, Block5, 0, 3); + world.setBlock(x + 1, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 2, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 7, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 8, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 9, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 10, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 12, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 13, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 14, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 15, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 17, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 18, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 19, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 20, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 21, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 22, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 24, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 25, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 26, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 27, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 28, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 29, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 30, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 31, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 32, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 33, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 34, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 35, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 36, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 37, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 38, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 39, y + 1, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 1, z + 0, Block5, 0, 3); + world.setBlock(x + 0, y + 1, z + 1, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 1, z + 1, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 2, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 1, z + 2, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 3, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 1, z + 3, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 4, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 1, z + 4, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 5, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 1, z + 5, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 6, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 1, z + 6, Block1, 0, 3); + world.setBlock(x + 17, y + 1, z + 6, Block1, 0, 3); + world.setBlock(x + 18, y + 1, z + 6, Block11, 0, 3); + world.setBlock(x + 19, y + 1, z + 6, Block11, 0, 3); + world.setBlock(x + 20, y + 1, z + 6, Block1, 0, 3); + world.setBlock(x + 21, y + 1, z + 6, Block1, 0, 3); + world.setBlock(x + 22, y + 1, z + 6, Block11, 0, 3); + world.setBlock(x + 23, y + 1, z + 6, Blocks.vine, 2, 3); + world.setBlock(x + 24, y + 1, z + 6, Block1, 0, 3); + world.setBlock(x + 25, y + 1, z + 6, Block1, 0, 3); + world.setBlock(x + 26, y + 1, z + 6, Block11, 0, 3); + world.setBlock(x + 27, y + 1, z + 6, Block11, 0, 3); + world.setBlock(x + 28, y + 1, z + 6, Block1, 0, 3); + world.setBlock(x + 29, y + 1, z + 6, Block1, 0, 3); + world.setBlock(x + 31, y + 1, z + 6, Blocks.web, 0, 3); + world.setBlock(x + 32, y + 1, z + 6, Block1, 0, 3); + world.setBlock(x + 33, y + 1, z + 6, Block1, 0, 3); + world.setBlock(x + 35, y + 1, z + 6, Block11, 0, 3); + world.setBlock(x + 36, y + 1, z + 6, Block1, 0, 3); + world.setBlock(x + 37, y + 1, z + 6, Block1, 0, 3); + world.setBlock(x + 40, y + 1, z + 6, Block5, 0, 3); + world.setBlock(x + 0, y + 1, z + 7, Blocks.iron_bars, 0, 3); + world.setBlock(x + 7, y + 1, z + 7, Block8, 2, 3); + world.setBlock(x + 9, y + 1, z + 7, Block8, 2, 3); + world.setBlock(x + 16, y + 1, z + 7, Block1, 0, 3); + world.setBlock(x + 17, y + 1, z + 7, Blocks.vine, 2, 3); + world.setBlock(x + 20, y + 1, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 21, y + 1, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 22, y + 1, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 29, y + 1, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 31, y + 1, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 33, y + 1, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 36, y + 1, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 1, z + 7, Block1, 0, 3); + world.setBlock(x + 40, y + 1, z + 7, Blocks.fence, 0, 3); + world.setBlock(x + 0, y + 1, z + 8, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 1, z + 8, Block5, 0, 3); + world.setBlock(x + 7, y + 1, z + 8, Block5, 0, 3); + world.setBlock(x + 8, y + 1, z + 8, Block5, 0, 3); + world.setBlock(x + 9, y + 1, z + 8, Block5, 0, 3); + world.setBlock(x + 10, y + 1, z + 8, Block5, 0, 3); + world.setBlock(x + 16, y + 1, z + 8, Block1, 0, 3); + //world.setBlock(x + 37, y + 1, z + 8, Blocks.iron_door, 9, 3); + //ItemDoor.placeDoorBlock(world, x + 37, y + 1, z + 8, 9, Blocks.iron_door); + world.setBlock(x + 40, y + 1, z + 8, Blocks.fence, 0, 3); + world.setBlock(x + 0, y + 1, z + 9, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 1, z + 9, Block5, 0, 3); + world.setBlock(x + 6, y + 1, z + 9, Blocks.water, 0, 3); + + generate_r01(world, rand, x, y, z); + return true; + + } + public boolean generate_r01(World world, Random rand, int x, int y, int z) + { + + world.setBlock(x + 7, y + 1, z + 9, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 1, z + 9, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 1, z + 9, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 1, z + 9, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 1, z + 9, Block5, 0, 3); + world.setBlock(x + 16, y + 1, z + 9, Block1, 0, 3); + //world.setBlock(x + 37, y + 1, z + 9, Blocks.iron_door, 8, 3); + //ItemDoor.placeDoorBlock(world, x + 37, y + 1, z + 9, 8, Blocks.iron_door); + world.setBlock(x + 40, y + 1, z + 9, Blocks.fence, 0, 3); + world.setBlock(x + 0, y + 1, z + 10, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 1, z + 10, Block5, 0, 3); + world.setBlock(x + 5, y + 1, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 6, y + 1, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 1, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 1, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 1, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 1, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 1, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 12, y + 1, z + 10, Block5, 0, 3); + world.setBlock(x + 16, y + 1, z + 10, Block1, 0, 3); + world.setBlock(x + 21, y + 1, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 23, y + 1, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 24, y + 1, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 27, y + 1, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 29, y + 1, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 35, y + 1, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 37, y + 1, z + 10, Block1, 0, 3); + world.setBlock(x + 40, y + 1, z + 10, Blocks.fence, 0, 3); + world.setBlock(x + 0, y + 1, z + 11, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 1, z + 11, Block5, 0, 3); + world.setBlock(x + 5, y + 1, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 6, y + 1, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 1, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 1, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 1, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 1, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 1, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 12, y + 1, z + 11, Block5, 0, 3); + world.setBlock(x + 16, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 19, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 20, y + 1, z + 11, Block1, 0, 3); + //world.setBlock(x + 21, y + 1, z + 11, Blocks.iron_door, 8, 3); + //ItemDoor.placeDoorBlock(world, x + 21, y + 1, z + 11, 8, Blocks.iron_door); + world.setBlock(x + 22, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 23, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 24, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 25, y + 1, z + 11, Block1, 0, 3); + //world.setBlock(x + 26, y + 1, z + 11, Blocks.wooden_door, 8, 3); + //ItemDoor.placeDoorBlock(world, x + 26, y + 1, z + 11, 8, Blocks.wooden_door); + world.setBlock(x + 27, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 28, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 29, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 30, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 31, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 32, y + 1, z + 11, Block1, 0, 3); + //world.setBlock(x + 33, y + 1, z + 11, Blocks.wooden_door, 8, 3); + //ItemDoor.placeDoorBlock(world, x + 33, y + 1, z + 11, 8, Blocks.wooden_door); + world.setBlock(x + 34, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 35, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 36, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 37, y + 1, z + 11, Block1, 0, 3); + world.setBlock(x + 40, y + 1, z + 11, Block5, 0, 3); + world.setBlock(x + 0, y + 1, z + 12, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 1, z + 12, Block5, 0, 3); + world.setBlock(x + 5, y + 1, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 6, y + 1, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 1, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 1, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 1, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 1, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 1, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 12, y + 1, z + 12, Block5, 0, 3); + world.setBlock(x + 16, y + 1, z + 12, Block1, 0, 3); + world.setBlock(x + 19, y + 1, z + 12, Block1, 0, 3); + world.setBlock(x + 20, y + 1, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 21, y + 1, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 22, y + 1, z + 12, Blocks.stone_brick_stairs, 4, 3); + world.setBlock(x + 23, y + 1, z + 12, Block1, 0, 3); + world.setBlock(x + 24, y + 1, z + 12, Block5, 0, 3); + world.setBlock(x + 25, y + 1, z + 12, Blocks.vine, 2, 3); + world.setBlock(x + 27, y + 1, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 28, y + 1, z + 12, Block8, 3, 3); + world.setBlock(x + 30, y + 1, z + 12, Block1, 0, 3); + world.setBlock(x + 31, y + 1, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 33, y + 1, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 36, y + 1, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 37, y + 1, z + 12, Block1, 0, 3); + world.setBlock(x + 40, y + 1, z + 12, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 13, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 1, z + 13, Block5, 0, 3); + world.setBlock(x + 5, y + 1, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 6, y + 1, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 1, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 1, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 1, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 1, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 1, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 12, y + 1, z + 13, Block5, 0, 3); + world.setBlock(x + 16, y + 1, z + 13, Block1, 0, 3); + world.setBlock(x + 17, y + 1, z + 13, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 18, y + 1, z + 13, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 19, y + 1, z + 13, Block1, 0, 3); + world.setBlock(x + 22, y + 1, z + 13, Blocks.stone_brick_stairs, 4, 3); + world.setBlock(x + 23, y + 1, z + 13, Block1, 0, 3); + world.setBlock(x + 24, y + 1, z + 13, Block9, 5, 3); + world.setBlock(x + 25, y + 1, z + 13, Blocks.vine, 2, 3); + world.setBlock(x + 30, y + 1, z + 13, Block1, 0, 3); + world.setBlock(x + 36, y + 1, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 1, z + 13, Block1, 0, 3); + world.setBlock(x + 40, y + 1, z + 13, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 14, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 1, z + 14, Block5, 0, 3); + world.setBlock(x + 5, y + 1, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 6, y + 1, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 1, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 1, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 1, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 1, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 1, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 12, y + 1, z + 14, Block5, 0, 3); + world.setBlock(x + 16, y + 1, z + 14, Block1, 0, 3); + world.setBlock(x + 17, y + 1, z + 14, Block1, 0, 3); + world.setBlock(x + 18, y + 1, z + 14, Block1, 0, 3); + world.setBlock(x + 19, y + 1, z + 14, Block1, 0, 3); + world.setBlock(x + 20, y + 1, z + 14, Blocks.vine, 2, 3); + world.setBlock(x + 22, y + 1, z + 14, Blocks.stone_brick_stairs, 4, 3); + world.setBlock(x + 23, y + 1, z + 14, Block1, 0, 3); + world.setBlock(x + 24, y + 1, z + 14, Block5, 0, 3); + world.setBlock(x + 29, y + 1, z + 14, Blocks.trapdoor, 4, 3); + world.setBlock(x + 30, y + 1, z + 14, Block1, 0, 3); + world.setBlock(x + 31, y + 1, z + 14, Blocks.vine, 2, 3); + world.setBlock(x + 36, y + 1, z + 14, Block9, 4, 3); + world.setBlock(x + 37, y + 1, z + 14, Block1, 0, 3); + world.setBlock(x + 40, y + 1, z + 14, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 15, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 1, z + 15, Block5, 0, 3); + world.setBlock(x + 6, y + 1, z + 15, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 1, z + 15, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 1, z + 15, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 1, z + 15, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 1, z + 15, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 1, z + 15, Block5, 0, 3); + world.setBlock(x + 16, y + 1, z + 15, Block1, 0, 3); + world.setBlock(x + 17, y + 1, z + 15, Block1, 0, 3); + world.setBlock(x + 18, y + 1, z + 15, Block1, 0, 3); + world.setBlock(x + 19, y + 1, z + 15, Block1, 0, 3); + world.setBlock(x + 20, y + 1, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 21, y + 1, z + 15, Blocks.vine, 8, 3); + world.setBlock(x + 22, y + 1, z + 15, Block8, 4, 3); + world.setBlock(x + 23, y + 1, z + 15, Block1, 0, 3); + world.setBlock(x + 24, y + 1, z + 15, Block5, 0, 3); + world.setBlock(x + 25, y + 1, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 29, y + 1, z + 15, Block12, 0, 3); + world.setBlock(x + 30, y + 1, z + 15, Block1, 0, 3); + world.setBlock(x + 31, y + 1, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 35, y + 1, z + 15, Blocks.flower_pot, 0, 3); + world.setBlock(x + 36, y + 1, z + 15, Block9, 4, 3); + world.setBlock(x + 37, y + 1, z + 15, Block1, 0, 3); + world.setBlock(x + 40, y + 1, z + 15, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 16, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 1, z + 16, Block5, 0, 3); + world.setBlock(x + 7, y + 1, z + 16, Block5, 0, 3); + world.setBlock(x + 8, y + 1, z + 16, Block5, 0, 3); + world.setBlock(x + 9, y + 1, z + 16, Block5, 0, 3); + world.setBlock(x + 10, y + 1, z + 16, Block5, 0, 3); + world.setBlock(x + 16, y + 1, z + 16, Block1, 0, 3); + world.setBlock(x + 17, y + 1, z + 16, Block1, 0, 3); + world.setBlock(x + 18, y + 1, z + 16, Blocks.chest, 2, 3); + if(world.getBlock(x + 18, y + 1, z + 16) == Blocks.chest) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityChest)world.getTileEntity(x + 18, y + 1, z + 16), 8); + } + world.setBlock(x + 19, y + 1, z + 16, Block1, 0, 3); + world.setBlock(x + 20, y + 1, z + 16, Blocks.vine, 2, 3); + world.setBlock(x + 22, y + 1, z + 16, Blocks.stone_brick_stairs, 4, 3); + world.setBlock(x + 23, y + 1, z + 16, Block1, 0, 3); + world.setBlock(x + 24, y + 1, z + 16, Block9, 5, 3); + world.setBlock(x + 29, y + 1, z + 16, Blocks.trapdoor, 5, 3); + world.setBlock(x + 30, y + 1, z + 16, Block1, 0, 3); + world.setBlock(x + 36, y + 1, z + 16, Block9, 4, 3); + world.setBlock(x + 37, y + 1, z + 16, Block1, 0, 3); + world.setBlock(x + 40, y + 1, z + 16, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 1, z + 17, Block1, 0, 3); + world.setBlock(x + 17, y + 1, z + 17, Block1, 0, 3); + world.setBlock(x + 18, y + 1, z + 17, Block1, 0, 3); + world.setBlock(x + 19, y + 1, z + 17, Block1, 0, 3); + world.setBlock(x + 20, y + 1, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 21, y + 1, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 22, y + 1, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 1, z + 17, Block1, 0, 3); + world.setBlock(x + 24, y + 1, z + 17, Block5, 0, 3); + world.setBlock(x + 28, y + 1, z + 17, Blocks.flower_pot, 0, 3); + world.setBlock(x + 29, y + 1, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 1, z + 17, Block1, 0, 3); + world.setBlock(x + 35, y + 1, z + 17, Blocks.vine, 3, 3); + world.setBlock(x + 36, y + 1, z + 17, Block9, 4, 3); + world.setBlock(x + 37, y + 1, z + 17, Block1, 0, 3); + world.setBlock(x + 40, y + 1, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 18, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 1, z + 18, Block1, 0, 3); + world.setBlock(x + 17, y + 1, z + 18, Block1, 0, 3); + world.setBlock(x + 18, y + 1, z + 18, Block1, 0, 3); + world.setBlock(x + 19, y + 1, z + 18, Block1, 0, 3); + world.setBlock(x + 20, y + 1, z + 18, Block1, 0, 3); + world.setBlock(x + 21, y + 1, z + 18, Block11, 0, 3); + world.setBlock(x + 22, y + 1, z + 18, Block1, 0, 3); + world.setBlock(x + 23, y + 1, z + 18, Block1, 0, 3); + world.setBlock(x + 24, y + 1, z + 18, Block1, 0, 3); + world.setBlock(x + 25, y + 1, z + 18, Block11, 0, 3); + world.setBlock(x + 27, y + 1, z + 18, Block13, 4, 3); + world.setBlock(x + 28, y + 1, z + 18, Block11, 0, 3); + world.setBlock(x + 29, y + 1, z + 18, Block1, 0, 3); + world.setBlock(x + 30, y + 1, z + 18, Block1, 0, 3); + world.setBlock(x + 31, y + 1, z + 18, Block1, 0, 3); + world.setBlock(x + 32, y + 1, z + 18, Block11, 0, 3); + world.setBlock(x + 33, y + 1, z + 18, Blocks.flower_pot, 0, 3); + world.setBlock(x + 35, y + 1, z + 18, Block11, 0, 3); + world.setBlock(x + 36, y + 1, z + 18, Block1, 0, 3); + world.setBlock(x + 37, y + 1, z + 18, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + 1, z + 18, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 19, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 1, z + 19, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 20, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 1, z + 20, Block5, 0, 3); + world.setBlock(x + 7, y + 1, z + 20, Block5, 0, 3); + world.setBlock(x + 8, y + 1, z + 20, Block5, 0, 3); + world.setBlock(x + 9, y + 1, z + 20, Block5, 0, 3); + world.setBlock(x + 10, y + 1, z + 20, Block5, 0, 3); + world.setBlock(x + 40, y + 1, z + 20, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 21, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 1, z + 21, Block5, 0, 3); + world.setBlock(x + 5, y + 1, z + 21, Block5, 0, 3); + world.setBlock(x + 11, y + 1, z + 21, Block5, 0, 3); + world.setBlock(x + 12, y + 1, z + 21, Block5, 0, 3); + world.setBlock(x + 40, y + 1, z + 21, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 22, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 1, z + 22, Block5, 0, 3); + world.setBlock(x + 12, y + 1, z + 22, Block5, 0, 3); + world.setBlock(x + 29, y + 1, z + 22, Block2, 0, 3); + world.setBlock(x + 40, y + 1, z + 22, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 23, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 1, z + 23, Block5, 0, 3); + world.setBlock(x + 13, y + 1, z + 23, Block5, 0, 3); + world.setBlock(x + 17, y + 1, z + 23, Block2, 0, 3); + world.setBlock(x + 25, y + 1, z + 23, Block2, 0, 3); + world.setBlock(x + 35, y + 1, z + 23, Block2, 0, 3); + world.setBlock(x + 40, y + 1, z + 23, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 24, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 1, z + 24, Block5, 0, 3); + world.setBlock(x + 13, y + 1, z + 24, Block5, 0, 3); + world.setBlock(x + 23, y + 1, z + 24, Block2, 0, 3); + world.setBlock(x + 40, y + 1, z + 24, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 25, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 1, z + 25, Block5, 0, 3); + world.setBlock(x + 13, y + 1, z + 25, Block5, 0, 3); + world.setBlock(x + 40, y + 1, z + 25, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 26, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 1, z + 26, Block5, 0, 3); + world.setBlock(x + 13, y + 1, z + 26, Block5, 0, 3); + world.setBlock(x + 40, y + 1, z + 26, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 27, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 1, z + 27, Block5, 0, 3); + world.setBlock(x + 13, y + 1, z + 27, Block5, 0, 3); + world.setBlock(x + 19, y + 1, z + 27, Block2, 0, 3); + world.setBlock(x + 20, y + 1, z + 27, Block2, 0, 3); + world.setBlock(x + 21, y + 1, z + 27, Block2, 0, 3); + world.setBlock(x + 24, y + 1, z + 27, Block2, 0, 3); + world.setBlock(x + 25, y + 1, z + 27, Block2, 0, 3); + world.setBlock(x + 30, y + 1, z + 27, Block2, 0, 3); + world.setBlock(x + 35, y + 1, z + 27, Block2, 0, 3); + world.setBlock(x + 40, y + 1, z + 27, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 28, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 1, z + 28, Block5, 0, 3); + world.setBlock(x + 12, y + 1, z + 28, Block5, 0, 3); + world.setBlock(x + 25, y + 1, z + 28, Block2, 0, 3); + world.setBlock(x + 40, y + 1, z + 28, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 29, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 1, z + 29, Block5, 0, 3); + world.setBlock(x + 5, y + 1, z + 29, Block5, 0, 3); + world.setBlock(x + 11, y + 1, z + 29, Block5, 0, 3); + world.setBlock(x + 12, y + 1, z + 29, Block5, 0, 3); + world.setBlock(x + 40, y + 1, z + 29, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 30, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 1, z + 30, Block5, 0, 3); + world.setBlock(x + 7, y + 1, z + 30, Block5, 0, 3); + world.setBlock(x + 8, y + 1, z + 30, Block5, 0, 3); + world.setBlock(x + 9, y + 1, z + 30, Block5, 0, 3); + world.setBlock(x + 10, y + 1, z + 30, Block5, 0, 3); + world.setBlock(x + 40, y + 1, z + 30, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 1, z + 31, Block5, 0, 3); + world.setBlock(x + 17, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 18, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 19, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 20, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 21, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 22, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 24, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 25, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 26, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 27, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 28, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 29, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 30, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 31, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 32, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 33, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 34, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 35, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 36, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 37, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 38, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 39, y + 1, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 1, z + 31, Block5, 0, 3); + world.setBlock(x + 0, y + 1, z + 32, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 1, z + 32, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 1, z + 33, Block5, 0, 3); + world.setBlock(x + 1, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 2, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 7, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 8, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 9, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 10, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 12, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 13, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 14, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 15, y + 1, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 1, z + 33, Block5, 0, 3); + world.setBlock(x + 0, y + 2, z + 0, Block5, 0, 3); + world.setBlock(x + 1, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 2, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 7, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 8, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 9, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 10, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 12, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 13, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 14, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 15, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 17, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 18, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 19, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 20, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 21, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 22, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 24, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 25, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 26, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 27, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 28, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 29, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 30, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 31, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 32, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 33, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 34, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 35, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 36, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 37, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 38, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 39, y + 2, z + 0, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 2, z + 0, Block5, 0, 3); + world.setBlock(x + 0, y + 2, z + 1, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 2, z + 1, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 2, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 2, z + 2, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 3, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 2, z + 3, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 4, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 2, z + 4, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 5, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 2, z + 5, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 6, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 17, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 18, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 19, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 20, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 21, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 22, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 23, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 24, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 25, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 26, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 27, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 28, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 29, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 30, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 31, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 32, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 33, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 34, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 35, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 36, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 37, y + 2, z + 6, Block1, 0, 3); + world.setBlock(x + 40, y + 2, z + 6, Block5, 0, 3); + world.setBlock(x + 0, y + 2, z + 7, Blocks.iron_bars, 0, 3); + world.setBlock(x + 7, y + 2, z + 7, Block8, 2, 3); + world.setBlock(x + 9, y + 2, z + 7, Block8, 2, 3); + world.setBlock(x + 16, y + 2, z + 7, Block1, 0, 3); + world.setBlock(x + 17, y + 2, z + 7, Blocks.vine, 2, 3); + world.setBlock(x + 18, y + 2, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 19, y + 2, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 20, y + 2, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 21, y + 2, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 24, y + 2, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 27, y + 2, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 2, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 31, y + 2, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 32, y + 2, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 35, y + 2, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 2, z + 7, Block1, 0, 3); + world.setBlock(x + 40, y + 2, z + 7, Block5, 0, 3); + world.setBlock(x + 0, y + 2, z + 8, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 2, z + 8, Block5, 0, 3); + world.setBlock(x + 7, y + 2, z + 8, Block5, 0, 3); + world.setBlock(x + 8, y + 2, z + 8, Block5, 0, 3); + world.setBlock(x + 9, y + 2, z + 8, Block5, 0, 3); + world.setBlock(x + 10, y + 2, z + 8, Block5, 0, 3); + world.setBlock(x + 16, y + 2, z + 8, Block1, 0, 3); + world.setBlock(x + 17, y + 2, z + 8, Blocks.web, 0, 3); + world.setBlock(x + 26, y + 2, z + 8, Blocks.web, 0, 3); + world.setBlock(x + 36, y + 2, z + 8, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 2, z + 8, Block1, 0, 3); + world.setBlock(x + 40, y + 2, z + 8, Blocks.fence, 0, 3); + world.setBlock(x + 0, y + 2, z + 9, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 2, z + 9, Block5, 0, 3); + world.setBlock(x + 6, y + 2, z + 9, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 2, z + 9, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 2, z + 9, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 2, z + 9, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 2, z + 9, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 2, z + 9, Block5, 0, 3); + world.setBlock(x + 16, y + 2, z + 9, Block1, 0, 3); + world.setBlock(x + 24, y + 2, z + 9, Blocks.web, 0, 3); + world.setBlock(x + 32, y + 2, z + 9, Blocks.web, 0, 3); + world.setBlock(x + 33, y + 2, z + 9, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 2, z + 9, Block1, 0, 3); + world.setBlock(x + 40, y + 2, z + 9, Blocks.fence, 0, 3); + world.setBlock(x + 0, y + 2, z + 10, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 2, z + 10, Block5, 0, 3); + world.setBlock(x + 5, y + 2, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 6, y + 2, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 2, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 2, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 2, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 2, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 2, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 12, y + 2, z + 10, Block5, 0, 3); + world.setBlock(x + 16, y + 2, z + 10, Block1, 0, 3); + world.setBlock(x + 21, y + 2, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 22, y + 2, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 23, y + 2, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 24, y + 2, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 25, y + 2, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 29, y + 2, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 32, y + 2, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 34, y + 2, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 35, y + 2, z + 10, Blocks.vine, 1, 3); + world.setBlock(x + 37, y + 2, z + 10, Block1, 0, 3); + world.setBlock(x + 40, y + 2, z + 10, Block5, 0, 3); + world.setBlock(x + 0, y + 2, z + 11, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 2, z + 11, Block5, 0, 3); + world.setBlock(x + 5, y + 2, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 6, y + 2, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 2, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 2, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 2, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 2, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 2, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 12, y + 2, z + 11, Block5, 0, 3); + world.setBlock(x + 16, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 19, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 20, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 21, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 22, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 23, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 24, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 25, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 26, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 27, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 28, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 29, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 30, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 31, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 32, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 33, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 34, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 35, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 36, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 37, y + 2, z + 11, Block1, 0, 3); + world.setBlock(x + 40, y + 2, z + 11, Block5, 0, 3); + world.setBlock(x + 0, y + 2, z + 12, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 2, z + 12, Block5, 0, 3); + world.setBlock(x + 5, y + 2, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 6, y + 2, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 2, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 2, z + 12, Block14, 0, 3); + world.setBlock(x + 9, y + 2, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 2, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 2, z + 12, Blocks.water, 0, 3); + world.setBlock(x + 12, y + 2, z + 12, Block5, 0, 3); + world.setBlock(x + 16, y + 2, z + 12, Block1, 0, 3); + world.setBlock(x + 19, y + 2, z + 12, Block1, 0, 3); + world.setBlock(x + 20, y + 2, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 21, y + 2, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 22, y + 2, z + 12, Block9, 4, 3); + world.setBlock(x + 23, y + 2, z + 12, Block1, 0, 3); + world.setBlock(x + 24, y + 2, z + 12, Block5, 0, 3); + world.setBlock(x + 25, y + 2, z + 12, Blocks.vine, 2, 3); + world.setBlock(x + 27, y + 2, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 28, y + 2, z + 12, Block8, 3, 3); + world.setBlock(x + 29, y + 2, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 2, z + 12, Block1, 0, 3); + world.setBlock(x + 31, y + 2, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 33, y + 2, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 35, y + 2, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 36, y + 2, z + 12, Blocks.vine, 4, 3); + world.setBlock(x + 37, y + 2, z + 12, Block1, 0, 3); + world.setBlock(x + 40, y + 2, z + 12, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 13, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 2, z + 13, Block5, 0, 3); + world.setBlock(x + 5, y + 2, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 6, y + 2, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 2, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 2, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 2, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 2, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 2, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 12, y + 2, z + 13, Block5, 0, 3); + world.setBlock(x + 16, y + 2, z + 13, Block1, 0, 3); + world.setBlock(x + 19, y + 2, z + 13, Block1, 0, 3); + world.setBlock(x + 20, y + 2, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 22, y + 2, z + 13, Block9, 4, 3); + world.setBlock(x + 23, y + 2, z + 13, Block1, 0, 3); + world.setBlock(x + 24, y + 2, z + 13, Block5, 0, 3); + world.setBlock(x + 25, y + 2, z + 13, Blocks.vine, 2, 3); + world.setBlock(x + 29, y + 2, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 2, z + 13, Block1, 0, 3); + world.setBlock(x + 31, y + 2, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 36, y + 2, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 2, z + 13, Block1, 0, 3); + world.setBlock(x + 40, y + 2, z + 13, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 14, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 2, z + 14, Block5, 0, 3); + world.setBlock(x + 5, y + 2, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 6, y + 2, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 2, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 2, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 2, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 2, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 2, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 12, y + 2, z + 14, Block5, 0, 3); + world.setBlock(x + 16, y + 2, z + 14, Block1, 0, 3); + world.setBlock(x + 17, y + 2, z + 14, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 18, y + 2, z + 14, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 19, y + 2, z + 14, Block1, 0, 3); + world.setBlock(x + 22, y + 2, z + 14, Block9, 4, 3); + world.setBlock(x + 23, y + 2, z + 14, Block1, 0, 3); + world.setBlock(x + 24, y + 2, z + 14, Block9, 5, 3); + world.setBlock(x + 29, y + 2, z + 14, Blocks.vine, 8, 3); + world.setBlock(x + 30, y + 2, z + 14, Block1, 0, 3); + world.setBlock(x + 36, y + 2, z + 14, Blocks.stone_brick_stairs, 0, 3); + world.setBlock(x + 37, y + 2, z + 14, Block1, 0, 3); + world.setBlock(x + 40, y + 2, z + 14, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 15, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 2, z + 15, Block5, 0, 3); + world.setBlock(x + 6, y + 2, z + 15, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 2, z + 15, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 2, z + 15, Blocks.water, 0, 3); + world.setBlock(x + 9, y + 2, z + 15, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 2, z + 15, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 2, z + 15, Block5, 0, 3); + world.setBlock(x + 16, y + 2, z + 15, Block1, 0, 3); + world.setBlock(x + 17, y + 2, z + 15, Block1, 0, 3); + world.setBlock(x + 18, y + 2, z + 15, Block1, 0, 3); + world.setBlock(x + 19, y + 2, z + 15, Block1, 0, 3); + world.setBlock(x + 20, y + 2, z + 15, Blocks.web, 0, 3); + world.setBlock(x + 21, y + 2, z + 15, Blocks.vine, 8, 3); + world.setBlock(x + 22, y + 2, z + 15, Block5, 0, 3); + world.setBlock(x + 23, y + 2, z + 15, Block1, 0, 3); + world.setBlock(x + 24, y + 2, z + 15, Block9, 5, 3); + world.setBlock(x + 27, y + 2, z + 15, Blocks.web, 0, 3); + world.setBlock(x + 29, y + 2, z + 15, Blocks.trapdoor, 2, 3); + world.setBlock(x + 30, y + 2, z + 15, Block1, 0, 3); + world.setBlock(x + 31, y + 2, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 36, y + 2, z + 15, Blocks.stone_brick_stairs, 0, 3); + world.setBlock(x + 37, y + 2, z + 15, Block1, 0, 3); + world.setBlock(x + 40, y + 2, z + 15, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 16, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 2, z + 16, Block5, 0, 3); + world.setBlock(x + 7, y + 2, z + 16, Block5, 0, 3); + world.setBlock(x + 8, y + 2, z + 16, Block5, 0, 3); + world.setBlock(x + 9, y + 2, z + 16, Block5, 0, 3); + world.setBlock(x + 10, y + 2, z + 16, Block5, 0, 3); + world.setBlock(x + 16, y + 2, z + 16, Block1, 0, 3); + world.setBlock(x + 17, y + 2, z + 16, Block1, 0, 3); + world.setBlock(x + 18, y + 2, z + 16, Block1, 0, 3); + world.setBlock(x + 19, y + 2, z + 16, Block1, 0, 3); + world.setBlock(x + 20, y + 2, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 21, y + 2, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 22, y + 2, z + 16, Block9, 4, 3); + world.setBlock(x + 23, y + 2, z + 16, Block1, 0, 3); + world.setBlock(x + 24, y + 2, z + 16, Block5, 0, 3); + world.setBlock(x + 25, y + 2, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 29, y + 2, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 2, z + 16, Block1, 0, 3); + world.setBlock(x + 31, y + 2, z + 16, Blocks.vine, 2, 3); + world.setBlock(x + 35, y + 2, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 36, y + 2, z + 16, Blocks.stone_brick_stairs, 0, 3); + world.setBlock(x + 37, y + 2, z + 16, Block1, 0, 3); + world.setBlock(x + 40, y + 2, z + 16, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 2, z + 17, Block1, 0, 3); + world.setBlock(x + 17, y + 2, z + 17, Block1, 0, 3); + world.setBlock(x + 18, y + 2, z + 17, Block1, 0, 3); + world.setBlock(x + 19, y + 2, z + 17, Block1, 0, 3); + world.setBlock(x + 20, y + 2, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 21, y + 2, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 22, y + 2, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 2, z + 17, Block1, 0, 3); + world.setBlock(x + 24, y + 2, z + 17, Block5, 0, 3); + world.setBlock(x + 28, y + 2, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 2, z + 17, Block1, 0, 3); + world.setBlock(x + 31, y + 2, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 34, y + 2, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 35, y + 2, z + 17, Blocks.vine, 3, 3); + world.setBlock(x + 36, y + 2, z + 17, Blocks.stone_brick_stairs, 0, 3); + world.setBlock(x + 37, y + 2, z + 17, Block1, 0, 3); + world.setBlock(x + 40, y + 2, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 18, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 2, z + 18, Block1, 0, 3); + world.setBlock(x + 17, y + 2, z + 18, Block1, 0, 3); + world.setBlock(x + 18, y + 2, z + 18, Block1, 0, 3); + world.setBlock(x + 19, y + 2, z + 18, Block1, 0, 3); + world.setBlock(x + 20, y + 2, z + 18, Block1, 0, 3); + world.setBlock(x + 21, y + 2, z + 18, Block11, 0, 3); + world.setBlock(x + 22, y + 2, z + 18, Block1, 0, 3); + world.setBlock(x + 23, y + 2, z + 18, Block1, 0, 3); + world.setBlock(x + 24, y + 2, z + 18, Block1, 0, 3); + world.setBlock(x + 27, y + 2, z + 18, Block11, 0, 3); + world.setBlock(x + 28, y + 2, z + 18, Block11, 0, 3); + world.setBlock(x + 29, y + 2, z + 18, Block1, 0, 3); + world.setBlock(x + 30, y + 2, z + 18, Block1, 0, 3); + world.setBlock(x + 31, y + 2, z + 18, Block1, 0, 3); + world.setBlock(x + 32, y + 2, z + 18, Block11, 0, 3); + world.setBlock(x + 34, y + 2, z + 18, Block11, 0, 3); + world.setBlock(x + 35, y + 2, z + 18, Blocks.gravel, 0, 3); + world.setBlock(x + 36, y + 2, z + 18, Block1, 0, 3); + world.setBlock(x + 37, y + 2, z + 18, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + 2, z + 18, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 19, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 2, z + 19, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 20, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 2, z + 20, Block15, 0, 3); + world.setBlock(x + 7, y + 2, z + 20, Block15, 0, 3); + world.setBlock(x + 8, y + 2, z + 20, Block15, 0, 3); + world.setBlock(x + 9, y + 2, z + 20, Block15, 0, 3); + world.setBlock(x + 10, y + 2, z + 20, Block15, 0, 3); + world.setBlock(x + 40, y + 2, z + 20, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 21, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 2, z + 21, Block15, 0, 3); + world.setBlock(x + 5, y + 2, z + 21, Block15, 0, 3); + world.setBlock(x + 11, y + 2, z + 21, Block15, 0, 3); + world.setBlock(x + 12, y + 2, z + 21, Block15, 0, 3); + world.setBlock(x + 40, y + 2, z + 21, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 22, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 2, z + 22, Block15, 0, 3); + world.setBlock(x + 12, y + 2, z + 22, Block15, 0, 3); + world.setBlock(x + 40, y + 2, z + 22, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 23, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 2, z + 23, Block15, 0, 3); + world.setBlock(x + 13, y + 2, z + 23, Block15, 0, 3); + world.setBlock(x + 40, y + 2, z + 23, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 24, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 2, z + 24, Block15, 0, 3); + world.setBlock(x + 13, y + 2, z + 24, Block15, 0, 3); + world.setBlock(x + 40, y + 2, z + 24, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 25, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 2, z + 25, Block15, 0, 3); + world.setBlock(x + 13, y + 2, z + 25, Block15, 0, 3); + world.setBlock(x + 40, y + 2, z + 25, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 26, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 2, z + 26, Block15, 0, 3); + world.setBlock(x + 13, y + 2, z + 26, Block15, 0, 3); + world.setBlock(x + 40, y + 2, z + 26, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 27, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 2, z + 27, Block15, 0, 3); + world.setBlock(x + 13, y + 2, z + 27, Block15, 0, 3); + world.setBlock(x + 24, y + 2, z + 27, Block2, 0, 3); + world.setBlock(x + 40, y + 2, z + 27, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 28, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 2, z + 28, Block15, 0, 3); + world.setBlock(x + 12, y + 2, z + 28, Block15, 0, 3); + world.setBlock(x + 40, y + 2, z + 28, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 29, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 2, z + 29, Block15, 0, 3); + world.setBlock(x + 5, y + 2, z + 29, Block15, 0, 3); + world.setBlock(x + 11, y + 2, z + 29, Block15, 0, 3); + world.setBlock(x + 12, y + 2, z + 29, Block15, 0, 3); + world.setBlock(x + 40, y + 2, z + 29, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 30, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 2, z + 30, Block15, 0, 3); + world.setBlock(x + 7, y + 2, z + 30, Block15, 0, 3); + world.setBlock(x + 8, y + 2, z + 30, Block15, 0, 3); + world.setBlock(x + 9, y + 2, z + 30, Block15, 0, 3); + world.setBlock(x + 10, y + 2, z + 30, Block15, 0, 3); + world.setBlock(x + 40, y + 2, z + 30, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 2, z + 31, Block5, 0, 3); + world.setBlock(x + 17, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 18, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 19, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 20, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 21, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 22, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 24, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 25, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 26, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 27, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 28, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 29, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 30, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 31, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 32, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 33, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 34, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 35, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 36, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 37, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 38, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 39, y + 2, z + 31, Blocks.iron_bars, 0, 3); + world.setBlock(x + 40, y + 2, z + 31, Block5, 0, 3); + world.setBlock(x + 0, y + 2, z + 32, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 2, z + 32, Blocks.iron_bars, 0, 3); + world.setBlock(x + 0, y + 2, z + 33, Block5, 0, 3); + world.setBlock(x + 1, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 2, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 3, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 4, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 7, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 8, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 9, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 10, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 12, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 13, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 14, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 15, y + 2, z + 33, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 2, z + 33, Block5, 0, 3); + world.setBlock(x + 0, y + 3, z + 0, Block5, 0, 3); + world.setBlock(x + 1, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 7, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 8, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 11, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 12, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 13, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 14, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 15, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 16, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 17, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 18, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 19, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 20, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 21, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 22, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 23, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 24, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 25, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 26, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 27, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 28, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 29, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 31, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 32, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 33, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 34, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 35, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 36, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 38, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 39, y + 3, z + 0, Blocks.web, 0, 3); + world.setBlock(x + 40, y + 3, z + 0, Block5, 0, 3); + world.setBlock(x + 0, y + 3, z + 1, Blocks.web, 0, 3); + world.setBlock(x + 40, y + 3, z + 1, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 2, Blocks.web, 0, 3); + world.setBlock(x + 40, y + 3, z + 2, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 3, Blocks.web, 0, 3); + world.setBlock(x + 40, y + 3, z + 3, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 4, Blocks.web, 0, 3); + world.setBlock(x + 40, y + 3, z + 4, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 5, Blocks.web, 0, 3); + world.setBlock(x + 40, y + 3, z + 5, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 6, Blocks.web, 0, 3); + world.setBlock(x + 16, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 17, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 18, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 19, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 20, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 21, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 22, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 23, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 24, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 25, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 26, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 27, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 28, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 29, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 30, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 31, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 32, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 33, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 34, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 35, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 36, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 37, y + 3, z + 6, Block1, 0, 3); + world.setBlock(x + 40, y + 3, z + 6, Block5, 0, 3); + world.setBlock(x + 0, y + 3, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 7, y + 3, z + 7, Block8, 2, 3); + world.setBlock(x + 9, y + 3, z + 7, Block8, 2, 3); + world.setBlock(x + 16, y + 3, z + 7, Block1, 0, 3); + world.setBlock(x + 17, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 18, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 19, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 20, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 21, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 22, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 23, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 24, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 25, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 26, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 27, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 28, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 29, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 30, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 31, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 32, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 33, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 34, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 35, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 36, y + 3, z + 7, Block6, 0, 3); + world.setBlock(x + 37, y + 3, z + 7, Block1, 0, 3); + world.setBlock(x + 40, y + 3, z + 7, Block5, 0, 3); + world.setBlock(x + 0, y + 3, z + 8, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 3, z + 8, Block5, 0, 3); + world.setBlock(x + 7, y + 3, z + 8, Block5, 0, 3); + world.setBlock(x + 8, y + 3, z + 8, Block5, 0, 3); + world.setBlock(x + 9, y + 3, z + 8, Block5, 0, 3); + world.setBlock(x + 10, y + 3, z + 8, Block5, 0, 3); + world.setBlock(x + 16, y + 3, z + 8, Block1, 0, 3); + world.setBlock(x + 17, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 18, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 19, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 20, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 21, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 22, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 23, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 24, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 25, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 26, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 27, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 28, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 29, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 30, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 31, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 32, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 33, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 34, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 35, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 36, y + 3, z + 8, Block6, 0, 3); + world.setBlock(x + 37, y + 3, z + 8, Block1, 0, 3); + world.setBlock(x + 40, y + 3, z + 8, Block5, 0, 3); + world.setBlock(x + 0, y + 3, z + 9, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 3, z + 9, Block5, 0, 3); + world.setBlock(x + 6, y + 3, z + 9, Block5, 0, 3); + world.setBlock(x + 7, y + 3, z + 9, Block5, 0, 3); + world.setBlock(x + 8, y + 3, z + 9, Block5, 0, 3); + world.setBlock(x + 9, y + 3, z + 9, Block5, 0, 3); + world.setBlock(x + 10, y + 3, z + 9, Block5, 0, 3); + world.setBlock(x + 11, y + 3, z + 9, Block5, 0, 3); + world.setBlock(x + 16, y + 3, z + 9, Block1, 0, 3); + world.setBlock(x + 17, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 18, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 19, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 20, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 21, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 22, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 23, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 24, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 25, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 26, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 27, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 28, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 29, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 30, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 31, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 32, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 33, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 34, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 35, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 36, y + 3, z + 9, Block6, 0, 3); + world.setBlock(x + 37, y + 3, z + 9, Block1, 0, 3); + world.setBlock(x + 40, y + 3, z + 9, Block5, 0, 3); + world.setBlock(x + 0, y + 3, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 3, z + 10, Block5, 0, 3); + world.setBlock(x + 5, y + 3, z + 10, Block5, 0, 3); + world.setBlock(x + 6, y + 3, z + 10, Block5, 0, 3); + world.setBlock(x + 7, y + 3, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 3, z + 10, Block5, 0, 3); + world.setBlock(x + 9, y + 3, z + 10, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 3, z + 10, Block5, 0, 3); + world.setBlock(x + 11, y + 3, z + 10, Block5, 0, 3); + world.setBlock(x + 12, y + 3, z + 10, Block5, 0, 3); + world.setBlock(x + 16, y + 3, z + 10, Block1, 0, 3); + world.setBlock(x + 19, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 20, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 21, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 22, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 23, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 24, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 25, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 26, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 27, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 28, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 29, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 30, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 31, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 32, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 33, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 34, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 35, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 36, y + 3, z + 10, Block6, 0, 3); + world.setBlock(x + 37, y + 3, z + 10, Block1, 0, 3); + world.setBlock(x + 40, y + 3, z + 10, Block5, 0, 3); + world.setBlock(x + 0, y + 3, z + 11, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 3, z + 11, Block5, 0, 3); + world.setBlock(x + 5, y + 3, z + 11, Block5, 0, 3); + world.setBlock(x + 6, y + 3, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 3, z + 11, Block16, 4, 3); + world.setBlock(x + 8, y + 3, z + 11, Block14, 0, 3); + world.setBlock(x + 9, y + 3, z + 11, Block16, 2, 3); + world.setBlock(x + 10, y + 3, z + 11, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 3, z + 11, Block5, 0, 3); + world.setBlock(x + 12, y + 3, z + 11, Block5, 0, 3); + world.setBlock(x + 16, y + 3, z + 11, Block1, 0, 3); + world.setBlock(x + 19, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 20, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 21, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 22, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 23, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 24, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 25, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 26, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 27, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 28, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 29, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 30, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 31, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 32, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 33, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 34, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 35, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 36, y + 3, z + 11, Block6, 0, 3); + world.setBlock(x + 37, y + 3, z + 11, Block1, 0, 3); + world.setBlock(x + 40, y + 3, z + 11, Block5, 0, 3); + world.setBlock(x + 0, y + 3, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 3, z + 12, Block5, 0, 3); + world.setBlock(x + 5, y + 3, z + 12, Block5, 0, 3); + world.setBlock(x + 6, y + 3, z + 12, Block5, 0, 3); + world.setBlock(x + 7, y + 3, z + 12, Block14, 0, 3); + world.setBlock(x + 8, y + 3, z + 12, Block17, 0, 3); + world.setBlock(x + 9, y + 3, z + 12, Block14, 0, 3); + world.setBlock(x + 10, y + 3, z + 12, Block5, 0, 3); + world.setBlock(x + 11, y + 3, z + 12, Block5, 0, 3); + world.setBlock(x + 12, y + 3, z + 12, Block5, 0, 3); + world.setBlock(x + 16, y + 3, z + 12, Block1, 0, 3); + world.setBlock(x + 19, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 20, y + 3, z + 12, Block6, 0, 3); + + new DesertAtom003().generate_r00(world, rand, x, y, z); + return true; + + } +} \ No newline at end of file diff --git a/com/hbm/world/DesertAtom003.java b/com/hbm/world/DesertAtom003.java new file mode 100644 index 000000000..1f882f6c7 --- /dev/null +++ b/com/hbm/world/DesertAtom003.java @@ -0,0 +1,1756 @@ +//Schematic to java Structure by jajo_11 | inspired by "MITHION'S.SCHEMATIC TO JAVA CONVERTINGTOOL" + +package com.hbm.world; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.HbmChestContents; +import com.hbm.main.MainRegistry; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemDoor; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.World; + +public class DesertAtom003 +{ + Block Block1 = ModBlocks.brick_concrete; + Block Block2 = ModBlocks.yellow_barrel; + Block Block3 = ModBlocks.reinforced_sand; + Block Block4 = ModBlocks.nuke_man; + Block Block5 = ModBlocks.block_steel; + Block Block6 = ModBlocks.brick_light; + Block Block7 = ModBlocks.block_tungsten; + Block Block8 = ModBlocks.steel_poles; + Block Block9 = ModBlocks.tape_recorder; + Block Block10 = ModBlocks.machine_nuke_furnace_off; + Block Block11 = ModBlocks.reinforced_glass; + Block Block12 = ModBlocks.reinforced_lamp_off; + Block Block13 = ModBlocks.pole_satellite_receiver; + Block Block14 = ModBlocks.machine_generator; + Block Block15 = ModBlocks.block_titanium; + Block Block16 = ModBlocks.machine_reactor; + Block Block17 = ModBlocks.ore_schrabidium; + Block Block18 = ModBlocks.waste_planks; + Block Block19 = ModBlocks.machine_centrifuge; + Block Block20 = ModBlocks.machine_uf6_tank; + Block Block21 = ModBlocks.machine_puf6_tank; + Block Block22 = ModBlocks.reinforced_brick; + Block Block23 = ModBlocks.waste_earth; + Block Block24 = ModBlocks.block_lead; + Block Block25 = ModBlocks.red_wire_coated; + Block Block26 = ModBlocks.block_uranium; + Block Block27 = ModBlocks.pole_top; + Block Block28 = ModBlocks.machine_battery; + Block Block29 = ModBlocks.machine_electric_furnace_off; + + public boolean generate_r00(World world, Random rand, int x, int y, int z) + { + world.setBlock(x + 21, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 22, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 23, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 24, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 25, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 26, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 27, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 28, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 29, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 30, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 31, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 32, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 33, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 34, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 35, y + 3, z + 12, Block6, 0, 3); + world.setBlock(x + 36, y + 3, z + 12, Block18, 0, 3); + world.setBlock(x + 37, y + 3, z + 12, Block1, 0, 3); + world.setBlock(x + 40, y + 3, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 3, z + 13, Block5, 0, 3); + world.setBlock(x + 5, y + 3, z + 13, Block5, 0, 3); + world.setBlock(x + 6, y + 3, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 7, y + 3, z + 13, Block16, 4, 3); + world.setBlock(x + 8, y + 3, z + 13, Block14, 0, 3); + world.setBlock(x + 9, y + 3, z + 13, Block16, 2, 3); + world.setBlock(x + 10, y + 3, z + 13, Blocks.water, 0, 3); + world.setBlock(x + 11, y + 3, z + 13, Block5, 0, 3); + world.setBlock(x + 12, y + 3, z + 13, Block5, 0, 3); + world.setBlock(x + 16, y + 3, z + 13, Block1, 0, 3); + world.setBlock(x + 19, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 20, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 21, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 22, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 23, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 24, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 25, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 26, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 27, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 28, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 29, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 30, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 31, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 32, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 33, y + 3, z + 13, Block6, 0, 3); + world.setBlock(x + 34, y + 3, z + 13, Block18, 0, 3); + world.setBlock(x + 35, y + 3, z + 13, Block18, 0, 3); + world.setBlock(x + 36, y + 3, z + 13, Block18, 0, 3); + world.setBlock(x + 37, y + 3, z + 13, Block1, 0, 3); + world.setBlock(x + 40, y + 3, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 14, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 3, z + 14, Block5, 0, 3); + world.setBlock(x + 5, y + 3, z + 14, Block5, 0, 3); + world.setBlock(x + 6, y + 3, z + 14, Block5, 0, 3); + world.setBlock(x + 7, y + 3, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 8, y + 3, z + 14, Block5, 0, 3); + world.setBlock(x + 9, y + 3, z + 14, Blocks.water, 0, 3); + world.setBlock(x + 10, y + 3, z + 14, Block5, 0, 3); + world.setBlock(x + 11, y + 3, z + 14, Block5, 0, 3); + world.setBlock(x + 12, y + 3, z + 14, Block5, 0, 3); + world.setBlock(x + 16, y + 3, z + 14, Block1, 0, 3); + world.setBlock(x + 17, y + 3, z + 14, Blocks.vine, 2, 3); + world.setBlock(x + 19, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 20, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 21, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 22, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 23, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 24, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 25, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 26, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 27, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 28, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 29, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 30, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 31, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 32, y + 3, z + 14, Block6, 0, 3); + world.setBlock(x + 33, y + 3, z + 14, Block18, 0, 3); + world.setBlock(x + 34, y + 3, z + 14, Block18, 0, 3); + world.setBlock(x + 35, y + 3, z + 14, Block18, 0, 3); + world.setBlock(x + 36, y + 3, z + 14, Block18, 0, 3); + world.setBlock(x + 37, y + 3, z + 14, Block1, 0, 3); + world.setBlock(x + 40, y + 3, z + 14, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 15, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 3, z + 15, Block5, 0, 3); + world.setBlock(x + 6, y + 3, z + 15, Block5, 0, 3); + world.setBlock(x + 7, y + 3, z + 15, Block5, 0, 3); + world.setBlock(x + 8, y + 3, z + 15, Block5, 0, 3); + world.setBlock(x + 9, y + 3, z + 15, Block5, 0, 3); + world.setBlock(x + 10, y + 3, z + 15, Block5, 0, 3); + world.setBlock(x + 11, y + 3, z + 15, Block5, 0, 3); + world.setBlock(x + 16, y + 3, z + 15, Block1, 0, 3); + world.setBlock(x + 17, y + 3, z + 15, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 18, y + 3, z + 15, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 19, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 20, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 21, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 22, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 23, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 24, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 25, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 26, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 27, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 28, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 29, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 30, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 31, y + 3, z + 15, Block6, 0, 3); + world.setBlock(x + 32, y + 3, z + 15, Block18, 0, 3); + world.setBlock(x + 33, y + 3, z + 15, Block18, 0, 3); + world.setBlock(x + 34, y + 3, z + 15, Block18, 0, 3); + world.setBlock(x + 35, y + 3, z + 15, Block18, 0, 3); + world.setBlock(x + 37, y + 3, z + 15, Block1, 0, 3); + world.setBlock(x + 40, y + 3, z + 15, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 3, z + 16, Block5, 0, 3); + world.setBlock(x + 7, y + 3, z + 16, Block5, 0, 3); + world.setBlock(x + 8, y + 3, z + 16, Block5, 0, 3); + world.setBlock(x + 9, y + 3, z + 16, Block5, 0, 3); + world.setBlock(x + 10, y + 3, z + 16, Block5, 0, 3); + world.setBlock(x + 16, y + 3, z + 16, Block1, 0, 3); + world.setBlock(x + 17, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 18, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 19, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 20, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 21, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 22, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 23, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 24, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 25, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 26, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 27, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 28, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 29, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 30, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 31, y + 3, z + 16, Block6, 0, 3); + world.setBlock(x + 32, y + 3, z + 16, Block18, 0, 3); + world.setBlock(x + 33, y + 3, z + 16, Block18, 0, 3); + world.setBlock(x + 34, y + 3, z + 16, Blocks.vine, 4, 3); + world.setBlock(x + 37, y + 3, z + 16, Block1, 0, 3); + world.setBlock(x + 40, y + 3, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 16, y + 3, z + 17, Block1, 0, 3); + world.setBlock(x + 17, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 18, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 19, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 20, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 21, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 22, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 23, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 24, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 25, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 26, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 27, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 28, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 29, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 30, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 31, y + 3, z + 17, Block6, 0, 3); + world.setBlock(x + 32, y + 3, z + 17, Block18, 0, 3); + world.setBlock(x + 33, y + 3, z + 17, Block18, 0, 3); + world.setBlock(x + 34, y + 3, z + 17, Block18, 0, 3); + world.setBlock(x + 35, y + 3, z + 17, Blocks.vine, 2, 3); + world.setBlock(x + 40, y + 3, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 18, Blocks.web, 0, 3); + world.setBlock(x + 16, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 17, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 18, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 19, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 20, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 21, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 22, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 23, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 24, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 25, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 26, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 27, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 28, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 29, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 30, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 31, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 32, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 33, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 34, y + 3, z + 18, Block1, 0, 3); + world.setBlock(x + 35, y + 3, z + 18, Blocks.gravel, 0, 3); + world.setBlock(x + 36, y + 3, z + 18, Blocks.gravel, 0, 3); + world.setBlock(x + 40, y + 3, z + 18, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 19, Blocks.web, 0, 3); + world.setBlock(x + 40, y + 3, z + 19, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 20, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 3, z + 20, Block15, 0, 3); + world.setBlock(x + 7, y + 3, z + 20, Block15, 0, 3); + world.setBlock(x + 8, y + 3, z + 20, Block15, 0, 3); + world.setBlock(x + 9, y + 3, z + 20, Block15, 0, 3); + world.setBlock(x + 10, y + 3, z + 20, Block15, 0, 3); + world.setBlock(x + 40, y + 3, z + 20, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 21, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 3, z + 21, Block15, 0, 3); + world.setBlock(x + 5, y + 3, z + 21, Block15, 0, 3); + world.setBlock(x + 11, y + 3, z + 21, Block15, 0, 3); + world.setBlock(x + 12, y + 3, z + 21, Block15, 0, 3); + world.setBlock(x + 40, y + 3, z + 21, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 22, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 3, z + 22, Block15, 0, 3); + world.setBlock(x + 12, y + 3, z + 22, Block15, 0, 3); + world.setBlock(x + 40, y + 3, z + 22, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 23, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 3, z + 23, Block15, 0, 3); + world.setBlock(x + 13, y + 3, z + 23, Block15, 0, 3); + world.setBlock(x + 40, y + 3, z + 23, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 24, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 3, z + 24, Block15, 0, 3); + world.setBlock(x + 13, y + 3, z + 24, Block15, 0, 3); + world.setBlock(x + 40, y + 3, z + 24, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 25, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 3, z + 25, Block15, 0, 3); + world.setBlock(x + 13, y + 3, z + 25, Block15, 0, 3); + world.setBlock(x + 40, y + 3, z + 25, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 26, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 3, z + 26, Block15, 0, 3); + world.setBlock(x + 13, y + 3, z + 26, Block15, 0, 3); + world.setBlock(x + 40, y + 3, z + 26, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 27, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 3, z + 27, Block15, 0, 3); + world.setBlock(x + 13, y + 3, z + 27, Block15, 0, 3); + world.setBlock(x + 40, y + 3, z + 27, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 28, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 3, z + 28, Block15, 0, 3); + world.setBlock(x + 12, y + 3, z + 28, Block15, 0, 3); + world.setBlock(x + 40, y + 3, z + 28, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 29, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 3, z + 29, Block15, 0, 3); + world.setBlock(x + 5, y + 3, z + 29, Block15, 0, 3); + world.setBlock(x + 11, y + 3, z + 29, Block15, 0, 3); + world.setBlock(x + 12, y + 3, z + 29, Block15, 0, 3); + world.setBlock(x + 40, y + 3, z + 29, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 30, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 3, z + 30, Block15, 0, 3); + world.setBlock(x + 7, y + 3, z + 30, Block15, 0, 3); + world.setBlock(x + 8, y + 3, z + 30, Block15, 0, 3); + world.setBlock(x + 9, y + 3, z + 30, Block15, 0, 3); + world.setBlock(x + 10, y + 3, z + 30, Block15, 0, 3); + world.setBlock(x + 40, y + 3, z + 30, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 16, y + 3, z + 31, Block5, 0, 3); + world.setBlock(x + 17, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 18, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 19, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 20, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 21, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 22, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 23, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 24, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 25, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 26, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 27, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 28, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 29, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 31, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 32, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 33, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 34, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 35, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 36, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 38, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 39, y + 3, z + 31, Blocks.web, 0, 3); + world.setBlock(x + 40, y + 3, z + 31, Block5, 0, 3); + world.setBlock(x + 0, y + 3, z + 32, Blocks.web, 0, 3); + world.setBlock(x + 16, y + 3, z + 32, Blocks.web, 0, 3); + world.setBlock(x + 0, y + 3, z + 33, Block5, 0, 3); + world.setBlock(x + 1, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 7, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 8, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 11, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 12, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 13, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 14, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 15, y + 3, z + 33, Blocks.web, 0, 3); + world.setBlock(x + 16, y + 3, z + 33, Block5, 0, 3); + world.setBlock(x + 16, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 17, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 18, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 19, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 20, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 21, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 22, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 23, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 24, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 25, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 26, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 27, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 28, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 29, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 30, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 31, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 32, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 33, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 34, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 35, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 36, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 37, y + 4, z + 6, Block1, 0, 3); + world.setBlock(x + 7, y + 4, z + 7, Block8, 2, 3); + world.setBlock(x + 9, y + 4, z + 7, Block8, 2, 3); + world.setBlock(x + 16, y + 4, z + 7, Block1, 0, 3); + world.setBlock(x + 18, y + 4, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 19, y + 4, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 20, y + 4, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 23, y + 4, z + 7, Block1, 0, 3); + world.setBlock(x + 25, y + 4, z + 7, Block8, 3, 3); + world.setBlock(x + 26, y + 4, z + 7, Block19, 3, 3); + world.setBlock(x + 27, y + 4, z + 7, Block19, 3, 3); + world.setBlock(x + 28, y + 4, z + 7, Block20, 3, 3); + world.setBlock(x + 29, y + 4, z + 7, Block20, 3, 3); + world.setBlock(x + 30, y + 4, z + 7, Block21, 3, 3); + world.setBlock(x + 31, y + 4, z + 7, Block21, 3, 3); + world.setBlock(x + 32, y + 4, z + 7, Block2, 0, 3); + world.setBlock(x + 33, y + 4, z + 7, Block22, 0, 3); + world.setBlock(x + 34, y + 4, z + 7, Block23, 0, 3); + world.setBlock(x + 35, y + 4, z + 7, Block23, 0, 3); + world.setBlock(x + 36, y + 4, z + 7, Block23, 0, 3); + world.setBlock(x + 37, y + 4, z + 7, Block1, 0, 3); + world.setBlock(x + 40, y + 4, z + 7, Block5, 0, 3); + world.setBlock(x + 6, y + 4, z + 8, Block5, 0, 3); + world.setBlock(x + 7, y + 4, z + 8, Block5, 0, 3); + //world.setBlock(x + 8, y + 4, z + 8, Blocks.iron_door, 1, 3); + ItemDoor.placeDoorBlock(world, x + 8, y + 4, z + 8, 1, Blocks.iron_door); + world.setBlock(x + 9, y + 4, z + 8, Block5, 0, 3); + world.setBlock(x + 10, y + 4, z + 8, Block5, 0, 3); + world.setBlock(x + 16, y + 4, z + 8, Block1, 0, 3); + world.setBlock(x + 19, y + 4, z + 8, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 4, z + 8, Block1, 0, 3); + world.setBlock(x + 24, y + 4, z + 8, Block12, 0, 3); + world.setBlock(x + 26, y + 4, z + 8, Blocks.unpowered_repeater, 0, 3); + world.setBlock(x + 27, y + 4, z + 8, Blocks.unpowered_repeater, 0, 3); + world.setBlock(x + 31, y + 4, z + 8, Blocks.unpowered_repeater, 0, 3); + world.setBlock(x + 32, y + 4, z + 8, Block2, 0, 3); + world.setBlock(x + 33, y + 4, z + 8, Block22, 0, 3); + world.setBlock(x + 34, y + 4, z + 8, Block22, 0, 3); + world.setBlock(x + 35, y + 4, z + 8, Block22, 0, 3); + world.setBlock(x + 36, y + 4, z + 8, Block22, 0, 3); + world.setBlock(x + 37, y + 4, z + 8, Block1, 0, 3); + world.setBlock(x + 40, y + 4, z + 8, Block5, 0, 3); + world.setBlock(x + 5, y + 4, z + 9, Block5, 0, 3); + world.setBlock(x + 6, y + 4, z + 9, Block2, 0, 3); + world.setBlock(x + 7, y + 4, z + 9, Block2, 0, 3); + world.setBlock(x + 10, y + 4, z + 9, Block2, 0, 3); + world.setBlock(x + 11, y + 4, z + 9, Block5, 0, 3); + world.setBlock(x + 16, y + 4, z + 9, Block1, 0, 3); + world.setBlock(x + 17, y + 4, z + 9, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 18, y + 4, z + 9, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 19, y + 4, z + 9, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 4, z + 9, Block1, 0, 3); + world.setBlock(x + 24, y + 4, z + 9, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 26, y + 4, z + 9, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 27, y + 4, z + 9, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 28, y + 4, z + 9, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 30, y + 4, z + 9, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 31, y + 4, z + 9, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 32, y + 4, z + 9, Blocks.unpowered_repeater, 1, 3); + world.setBlock(x + 33, y + 4, z + 9, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 34, y + 4, z + 9, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 35, y + 4, z + 9, Block12, 0, 3); + world.setBlock(x + 36, y + 4, z + 9, Blocks.chest, 3, 3); + if(world.getBlock(x + 36, y + 4, z + 9) == Blocks.chest) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(5), (TileEntityChest)world.getTileEntity(x + 36, y + 4, z + 9), 12); + } + world.setBlock(x + 37, y + 4, z + 9, Block1, 0, 3); + world.setBlock(x + 40, y + 4, z + 9, Block5, 0, 3); + world.setBlock(x + 4, y + 4, z + 10, Block5, 0, 3); + world.setBlock(x + 5, y + 4, z + 10, Block2, 0, 3); + world.setBlock(x + 11, y + 4, z + 10, Block2, 0, 3); + world.setBlock(x + 12, y + 4, z + 10, Block5, 0, 3); + world.setBlock(x + 16, y + 4, z + 10, Block1, 0, 3); + world.setBlock(x + 17, y + 4, z + 10, Blocks.stone_stairs, 7, 3); + world.setBlock(x + 18, y + 4, z + 10, Blocks.stone_stairs, 7, 3); + world.setBlock(x + 19, y + 4, z + 10, Blocks.iron_bars, 0, 3); + world.setBlock(x + 20, y + 4, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 23, y + 4, z + 10, Block1, 0, 3); + world.setBlock(x + 24, y + 4, z + 10, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 25, y + 4, z + 10, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 26, y + 4, z + 10, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 28, y + 4, z + 10, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 29, y + 4, z + 10, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 30, y + 4, z + 10, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 35, y + 4, z + 10, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 37, y + 4, z + 10, Block1, 0, 3); + world.setBlock(x + 40, y + 4, z + 10, Block5, 0, 3); + world.setBlock(x + 4, y + 4, z + 11, Block5, 0, 3); + world.setBlock(x + 5, y + 4, z + 11, Block2, 0, 3); + world.setBlock(x + 11, y + 4, z + 11, Block2, 0, 3); + world.setBlock(x + 12, y + 4, z + 11, Block5, 0, 3); + world.setBlock(x + 16, y + 4, z + 11, Block1, 0, 3); + world.setBlock(x + 22, y + 4, z + 11, Blocks.vine, 8, 3); + world.setBlock(x + 23, y + 4, z + 11, Block1, 0, 3); + world.setBlock(x + 24, y + 4, z + 11, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 27, y + 4, z + 11, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 28, y + 4, z + 11, Block24, 0, 3); + world.setBlock(x + 29, y + 4, z + 11, Block24, 0, 3); + world.setBlock(x + 30, y + 4, z + 11, Block24, 0, 3); + world.setBlock(x + 34, y + 4, z + 11, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 37, y + 4, z + 11, Block1, 0, 3); + world.setBlock(x + 4, y + 4, z + 12, Block5, 0, 3); + world.setBlock(x + 8, y + 4, z + 12, Block14, 0, 3); + world.setBlock(x + 11, y + 4, z + 12, Block2, 0, 3); + world.setBlock(x + 12, y + 4, z + 12, Block5, 0, 3); + world.setBlock(x + 16, y + 4, z + 12, Block1, 0, 3); + world.setBlock(x + 19, y + 4, z + 12, Blocks.iron_bars, 0, 3); + world.setBlock(x + 22, y + 4, z + 12, Blocks.vine, 8, 3); + world.setBlock(x + 23, y + 4, z + 12, Block1, 0, 3); + world.setBlock(x + 24, y + 4, z + 12, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 27, y + 4, z + 12, Blocks.vine, 8, 3); + world.setBlock(x + 28, y + 4, z + 12, Block24, 0, 3); + world.setBlock(x + 29, y + 4, z + 12, Block24, 0, 3); + world.setBlock(x + 30, y + 4, z + 12, Block24, 0, 3); + world.setBlock(x + 31, y + 4, z + 12, Blocks.vine, 2, 3); + world.setBlock(x + 32, y + 4, z + 12, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 36, y + 4, z + 12, Blocks.vine, 8, 3); + world.setBlock(x + 37, y + 4, z + 12, Block1, 0, 3); + world.setBlock(x + 4, y + 4, z + 13, Block5, 0, 3); + world.setBlock(x + 5, y + 4, z + 13, Block2, 0, 3); + world.setBlock(x + 12, y + 4, z + 13, Block5, 0, 3); + world.setBlock(x + 16, y + 4, z + 13, Block1, 0, 3); + world.setBlock(x + 17, y + 4, z + 13, Blocks.vine, 2, 3); + world.setBlock(x + 19, y + 4, z + 13, Blocks.iron_bars, 0, 3); + world.setBlock(x + 22, y + 4, z + 13, Blocks.vine, 8, 3); + world.setBlock(x + 23, y + 4, z + 13, Block1, 0, 3); + world.setBlock(x + 24, y + 4, z + 13, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 25, y + 4, z + 13, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 26, y + 4, z + 13, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 28, y + 4, z + 13, Block24, 0, 3); + world.setBlock(x + 29, y + 4, z + 13, Block24, 0, 3); + world.setBlock(x + 30, y + 4, z + 13, Block24, 0, 3); + world.setBlock(x + 31, y + 4, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 36, y + 4, z + 13, Blocks.vine, 8, 3); + world.setBlock(x + 37, y + 4, z + 13, Block1, 0, 3); + world.setBlock(x + 4, y + 4, z + 14, Block5, 0, 3); + world.setBlock(x + 12, y + 4, z + 14, Block5, 0, 3); + world.setBlock(x + 16, y + 4, z + 14, Block1, 0, 3); + world.setBlock(x + 17, y + 4, z + 14, Blocks.vine, 2, 3); + world.setBlock(x + 19, y + 4, z + 14, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 4, z + 14, Block1, 0, 3); + world.setBlock(x + 24, y + 4, z + 14, Block12, 0, 3); + world.setBlock(x + 26, y + 4, z + 14, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 27, y + 4, z + 14, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 28, y + 4, z + 14, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 29, y + 4, z + 14, Block25, 0, 3); + world.setBlock(x + 30, y + 4, z + 14, Blocks.web, 0, 3); + world.setBlock(x + 31, y + 4, z + 14, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 37, y + 4, z + 14, Block1, 0, 3); + world.setBlock(x + 5, y + 4, z + 15, Block5, 0, 3); + world.setBlock(x + 8, y + 4, z + 15, Block2, 0, 3); + world.setBlock(x + 9, y + 4, z + 15, Block2, 0, 3); + world.setBlock(x + 10, y + 4, z + 15, Block2, 0, 3); + world.setBlock(x + 11, y + 4, z + 15, Block5, 0, 3); + world.setBlock(x + 16, y + 4, z + 15, Block1, 0, 3); + world.setBlock(x + 19, y + 4, z + 15, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 4, z + 15, Blocks.iron_door, 0, 3); + ItemDoor.placeDoorBlock(world, x + 23, y + 4, z + 15, 0, Blocks.iron_door); + world.setBlock(x + 24, y + 4, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 27, y + 4, z + 15, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 30, y + 4, z + 15, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 31, y + 4, z + 15, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 37, y + 4, z + 15, Block1, 0, 3); + world.setBlock(x + 6, y + 4, z + 16, Block5, 0, 3); + world.setBlock(x + 7, y + 4, z + 16, Block5, 0, 3); + world.setBlock(x + 8, y + 4, z + 16, Block5, 0, 3); + world.setBlock(x + 9, y + 4, z + 16, Block5, 0, 3); + world.setBlock(x + 10, y + 4, z + 16, Block5, 0, 3); + world.setBlock(x + 16, y + 4, z + 16, Block1, 0, 3); + world.setBlock(x + 22, y + 4, z + 16, Blocks.vine, 8, 3); + //world.setBlock(x + 23, y + 4, z + 16, Blocks.iron_door, 3, 3); + ItemDoor.placeDoorBlock(world, x + 23, y + 4, z + 16, 3, Blocks.iron_door); + world.setBlock(x + 26, y + 4, z + 16, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 29, y + 4, z + 16, Blocks.unpowered_repeater, 2, 3); + world.setBlock(x + 37, y + 4, z + 16, Blocks.gravel, 0, 3); + world.setBlock(x + 16, y + 4, z + 17, Block1, 0, 3); + world.setBlock(x + 21, y + 4, z + 17, Blocks.vine, 1, 3); + world.setBlock(x + 22, y + 4, z + 17, Blocks.vine, 8, 3); + world.setBlock(x + 23, y + 4, z + 17, Block1, 0, 3); + world.setBlock(x + 27, y + 4, z + 17, Blocks.vine, 1, 3); + world.setBlock(x + 28, y + 4, z + 17, Blocks.vine, 9, 3); + world.setBlock(x + 29, y + 4, z + 17, Block12, 0, 3); + world.setBlock(x + 33, y + 4, z + 17, Blocks.vine, 3, 3); + world.setBlock(x + 16, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 17, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 18, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 19, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 20, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 21, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 22, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 23, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 24, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 25, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 26, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 27, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 28, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 29, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 30, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 31, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 32, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 33, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 34, y + 4, z + 18, Block1, 0, 3); + world.setBlock(x + 6, y + 4, z + 20, Block15, 0, 3); + world.setBlock(x + 7, y + 4, z + 20, Block15, 0, 3); + world.setBlock(x + 8, y + 4, z + 20, Block15, 0, 3); + world.setBlock(x + 9, y + 4, z + 20, Block15, 0, 3); + world.setBlock(x + 10, y + 4, z + 20, Block15, 0, 3); + world.setBlock(x + 4, y + 4, z + 21, Block15, 0, 3); + world.setBlock(x + 5, y + 4, z + 21, Block15, 0, 3); + world.setBlock(x + 6, y + 4, z + 21, Block7, 0, 3); + world.setBlock(x + 7, y + 4, z + 21, Block7, 0, 3); + world.setBlock(x + 8, y + 4, z + 21, Block7, 0, 3); + world.setBlock(x + 9, y + 4, z + 21, Block7, 0, 3); + world.setBlock(x + 10, y + 4, z + 21, Block7, 0, 3); + world.setBlock(x + 11, y + 4, z + 21, Block15, 0, 3); + world.setBlock(x + 12, y + 4, z + 21, Block15, 0, 3); + world.setBlock(x + 4, y + 4, z + 22, Block15, 0, 3); + world.setBlock(x + 5, y + 4, z + 22, Block7, 0, 3); + world.setBlock(x + 11, y + 4, z + 22, Block7, 0, 3); + world.setBlock(x + 12, y + 4, z + 22, Block15, 0, 3); + world.setBlock(x + 3, y + 4, z + 23, Block15, 0, 3); + world.setBlock(x + 4, y + 4, z + 23, Block7, 0, 3); + world.setBlock(x + 12, y + 4, z + 23, Block7, 0, 3); + world.setBlock(x + 13, y + 4, z + 23, Block15, 0, 3); + world.setBlock(x + 3, y + 4, z + 24, Block15, 0, 3); + world.setBlock(x + 4, y + 4, z + 24, Block7, 0, 3); + world.setBlock(x + 12, y + 4, z + 24, Block7, 0, 3); + world.setBlock(x + 13, y + 4, z + 24, Block15, 0, 3); + world.setBlock(x + 3, y + 4, z + 25, Block15, 0, 3); + world.setBlock(x + 4, y + 4, z + 25, Block7, 0, 3); + world.setBlock(x + 12, y + 4, z + 25, Block7, 0, 3); + world.setBlock(x + 13, y + 4, z + 25, Block15, 0, 3); + world.setBlock(x + 3, y + 4, z + 26, Block15, 0, 3); + world.setBlock(x + 4, y + 4, z + 26, Block7, 0, 3); + world.setBlock(x + 12, y + 4, z + 26, Block7, 0, 3); + world.setBlock(x + 13, y + 4, z + 26, Block15, 0, 3); + world.setBlock(x + 3, y + 4, z + 27, Block15, 0, 3); + world.setBlock(x + 4, y + 4, z + 27, Block7, 0, 3); + world.setBlock(x + 12, y + 4, z + 27, Block7, 0, 3); + world.setBlock(x + 13, y + 4, z + 27, Block15, 0, 3); + world.setBlock(x + 4, y + 4, z + 28, Block15, 0, 3); + world.setBlock(x + 5, y + 4, z + 28, Block7, 0, 3); + world.setBlock(x + 11, y + 4, z + 28, Block7, 0, 3); + world.setBlock(x + 12, y + 4, z + 28, Block15, 0, 3); + world.setBlock(x + 4, y + 4, z + 29, Block15, 0, 3); + world.setBlock(x + 5, y + 4, z + 29, Block15, 0, 3); + world.setBlock(x + 6, y + 4, z + 29, Block7, 0, 3); + world.setBlock(x + 7, y + 4, z + 29, Block7, 0, 3); + world.setBlock(x + 8, y + 4, z + 29, Block7, 0, 3); + world.setBlock(x + 9, y + 4, z + 29, Block7, 0, 3); + world.setBlock(x + 10, y + 4, z + 29, Block7, 0, 3); + world.setBlock(x + 11, y + 4, z + 29, Block15, 0, 3); + world.setBlock(x + 12, y + 4, z + 29, Block15, 0, 3); + world.setBlock(x + 6, y + 4, z + 30, Block15, 0, 3); + world.setBlock(x + 7, y + 4, z + 30, Block15, 0, 3); + world.setBlock(x + 8, y + 4, z + 30, Block15, 0, 3); + world.setBlock(x + 9, y + 4, z + 30, Block15, 0, 3); + world.setBlock(x + 10, y + 4, z + 30, Block15, 0, 3); + world.setBlock(x + 16, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 17, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 18, y + 5, z + 6, Block11, 0, 3); + world.setBlock(x + 19, y + 5, z + 6, Block11, 0, 3); + world.setBlock(x + 20, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 21, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 22, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 23, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 24, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 25, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 26, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 27, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 28, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 29, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 30, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 31, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 32, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 33, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 34, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 35, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 36, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 37, y + 5, z + 6, Block1, 0, 3); + world.setBlock(x + 7, y + 5, z + 7, Block8, 2, 3); + world.setBlock(x + 9, y + 5, z + 7, Block8, 2, 3); + world.setBlock(x + 16, y + 5, z + 7, Block1, 0, 3); + world.setBlock(x + 18, y + 5, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 19, y + 5, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 20, y + 5, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 22, y + 5, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 23, y + 5, z + 7, Block1, 0, 3); + world.setBlock(x + 25, y + 5, z + 7, Block8, 3, 3); + world.setBlock(x + 30, y + 5, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 32, y + 5, z + 7, Block2, 0, 3); + world.setBlock(x + 33, y + 5, z + 7, Block11, 0, 3); + world.setBlock(x + 37, y + 5, z + 7, Block1, 0, 3); + world.setBlock(x + 6, y + 5, z + 8, Block5, 0, 3); + world.setBlock(x + 7, y + 5, z + 8, Block5, 0, 3); + //world.setBlock(x + 8, y + 5, z + 8, Blocks.iron_door, 8, 3); + world.setBlock(x + 9, y + 5, z + 8, Block5, 0, 3); + world.setBlock(x + 10, y + 5, z + 8, Block5, 0, 3); + world.setBlock(x + 16, y + 5, z + 8, Block11, 0, 3); + world.setBlock(x + 23, y + 5, z + 8, Block11, 0, 3); + world.setBlock(x + 33, y + 5, z + 8, Block11, 0, 3); + world.setBlock(x + 34, y + 5, z + 8, Block11, 0, 3); + world.setBlock(x + 35, y + 5, z + 8, Block11, 0, 3); + world.setBlock(x + 36, y + 5, z + 8, Block11, 0, 3); + world.setBlock(x + 37, y + 5, z + 8, Block1, 0, 3); + world.setBlock(x + 5, y + 5, z + 9, Block5, 0, 3); + world.setBlock(x + 11, y + 5, z + 9, Block5, 0, 3); + world.setBlock(x + 16, y + 5, z + 9, Block11, 0, 3); + world.setBlock(x + 19, y + 5, z + 9, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 5, z + 9, Block11, 0, 3); + world.setBlock(x + 33, y + 5, z + 9, Blocks.vine, 4, 3); + world.setBlock(x + 37, y + 5, z + 9, Block1, 0, 3); + world.setBlock(x + 4, y + 5, z + 10, Block5, 0, 3); + world.setBlock(x + 12, y + 5, z + 10, Block5, 0, 3); + world.setBlock(x + 16, y + 5, z + 10, Block1, 0, 3); + world.setBlock(x + 17, y + 5, z + 10, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 18, y + 5, z + 10, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 19, y + 5, z + 10, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 5, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 5, z + 10, Block1, 0, 3); + world.setBlock(x + 4, y + 5, z + 11, Block5, 0, 3); + world.setBlock(x + 12, y + 5, z + 11, Block5, 0, 3); + world.setBlock(x + 16, y + 5, z + 11, Block1, 0, 3); + world.setBlock(x + 17, y + 5, z + 11, Blocks.stone_stairs, 7, 3); + world.setBlock(x + 18, y + 5, z + 11, Blocks.stone_stairs, 7, 3); + world.setBlock(x + 19, y + 5, z + 11, Blocks.iron_bars, 0, 3); + world.setBlock(x + 20, y + 5, z + 11, Blocks.web, 0, 3); + world.setBlock(x + 23, y + 5, z + 11, Block11, 0, 3); + world.setBlock(x + 27, y + 5, z + 11, Blocks.vine, 8, 3); + world.setBlock(x + 28, y + 5, z + 11, Block16, 4, 3); + world.setBlock(x + 29, y + 5, z + 11, Block16, 2, 3); + world.setBlock(x + 30, y + 5, z + 11, Block16, 3, 3); + world.setBlock(x + 37, y + 5, z + 11, Block1, 0, 3); + world.setBlock(x + 4, y + 5, z + 12, Block5, 0, 3); + world.setBlock(x + 8, y + 5, z + 12, Block25, 0, 3); + world.setBlock(x + 12, y + 5, z + 12, Block5, 0, 3); + world.setBlock(x + 16, y + 5, z + 12, Block1, 0, 3); + world.setBlock(x + 17, y + 5, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 19, y + 5, z + 12, Blocks.iron_bars, 0, 3); + world.setBlock(x + 22, y + 5, z + 12, Blocks.vine, 8, 3); + world.setBlock(x + 24, y + 5, z + 12, Blocks.vine, 2, 3); + world.setBlock(x + 27, y + 5, z + 12, Blocks.vine, 8, 3); + world.setBlock(x + 28, y + 5, z + 12, Block16, 4, 3); + world.setBlock(x + 29, y + 5, z + 12, Block26, 0, 3); + world.setBlock(x + 30, y + 5, z + 12, Block16, 3, 3); + world.setBlock(x + 31, y + 5, z + 12, Blocks.vine, 2, 3); + world.setBlock(x + 36, y + 5, z + 12, Blocks.vine, 8, 3); + world.setBlock(x + 37, y + 5, z + 12, Block1, 0, 3); + world.setBlock(x + 4, y + 5, z + 13, Block5, 0, 3); + world.setBlock(x + 12, y + 5, z + 13, Block5, 0, 3); + world.setBlock(x + 16, y + 5, z + 13, Block1, 0, 3); + world.setBlock(x + 17, y + 5, z + 13, Blocks.vine, 2, 3); + world.setBlock(x + 19, y + 5, z + 13, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 5, z + 13, Block11, 0, 3); + world.setBlock(x + 28, y + 5, z + 13, Block16, 3, 3); + world.setBlock(x + 29, y + 5, z + 13, Block16, 3, 3); + world.setBlock(x + 30, y + 5, z + 13, Block16, 3, 3); + world.setBlock(x + 31, y + 5, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 35, y + 5, z + 13, Blocks.vine, 4, 3); + world.setBlock(x + 36, y + 5, z + 13, Blocks.vine, 8, 3); + world.setBlock(x + 37, y + 5, z + 13, Block1, 0, 3); + world.setBlock(x + 4, y + 5, z + 14, Block5, 0, 3); + world.setBlock(x + 12, y + 5, z + 14, Block5, 0, 3); + world.setBlock(x + 16, y + 5, z + 14, Block1, 0, 3); + world.setBlock(x + 17, y + 5, z + 14, Blocks.vine, 2, 3); + world.setBlock(x + 23, y + 5, z + 14, Block1, 0, 3); + world.setBlock(x + 24, y + 5, z + 14, Blocks.redstone_wire, 0, 3); + world.setBlock(x + 27, y + 5, z + 14, Blocks.web, 0, 3); + world.setBlock(x + 29, y + 5, z + 14, Block25, 0, 3); + world.setBlock(x + 37, y + 5, z + 14, Blocks.gravel, 0, 3); + world.setBlock(x + 5, y + 5, z + 15, Block5, 0, 3); + world.setBlock(x + 11, y + 5, z + 15, Block5, 0, 3); + world.setBlock(x + 16, y + 5, z + 15, Block11, 0, 3); + world.setBlock(x + 17, y + 5, z + 15, Blocks.vine, 2, 3); + //world.setBlock(x + 23, y + 5, z + 15, Blocks.iron_door, 8, 3); + world.setBlock(x + 24, y + 5, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 34, y + 5, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 37, y + 5, z + 15, Blocks.gravel, 0, 3); + world.setBlock(x + 6, y + 5, z + 16, Block5, 0, 3); + world.setBlock(x + 7, y + 5, z + 16, Block5, 0, 3); + world.setBlock(x + 8, y + 5, z + 16, Block5, 0, 3); + world.setBlock(x + 9, y + 5, z + 16, Block5, 0, 3); + world.setBlock(x + 10, y + 5, z + 16, Block5, 0, 3); + world.setBlock(x + 16, y + 5, z + 16, Block11, 0, 3); + world.setBlock(x + 22, y + 5, z + 16, Blocks.vine, 8, 3); + //world.setBlock(x + 23, y + 5, z + 16, Blocks.iron_door, 8, 3); + world.setBlock(x + 34, y + 5, z + 16, Blocks.vine, 2, 3); + world.setBlock(x + 16, y + 5, z + 17, Block1, 0, 3); + world.setBlock(x + 21, y + 5, z + 17, Blocks.vine, 1, 3); + world.setBlock(x + 22, y + 5, z + 17, Blocks.vine, 8, 3); + world.setBlock(x + 23, y + 5, z + 17, Block1, 0, 3); + world.setBlock(x + 24, y + 5, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 27, y + 5, z + 17, Blocks.vine, 1, 3); + world.setBlock(x + 28, y + 5, z + 17, Blocks.vine, 1, 3); + world.setBlock(x + 33, y + 5, z + 17, Blocks.vine, 3, 3); + world.setBlock(x + 16, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 17, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 18, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 19, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 20, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 21, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 22, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 23, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 24, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 25, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 26, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 27, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 28, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 29, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 30, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 31, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 32, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 33, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 34, y + 5, z + 18, Block1, 0, 3); + world.setBlock(x + 6, y + 5, z + 21, Block15, 0, 3); + world.setBlock(x + 7, y + 5, z + 21, Block15, 0, 3); + world.setBlock(x + 8, y + 5, z + 21, Block15, 0, 3); + world.setBlock(x + 9, y + 5, z + 21, Block15, 0, 3); + world.setBlock(x + 10, y + 5, z + 21, Block15, 0, 3); + world.setBlock(x + 5, y + 5, z + 22, Block15, 0, 3); + world.setBlock(x + 11, y + 5, z + 22, Block15, 0, 3); + world.setBlock(x + 4, y + 5, z + 23, Block15, 0, 3); + world.setBlock(x + 12, y + 5, z + 23, Block15, 0, 3); + world.setBlock(x + 4, y + 5, z + 24, Block15, 0, 3); + world.setBlock(x + 12, y + 5, z + 24, Block15, 0, 3); + world.setBlock(x + 4, y + 5, z + 25, Block15, 0, 3); + world.setBlock(x + 12, y + 5, z + 25, Block15, 0, 3); + world.setBlock(x + 4, y + 5, z + 26, Block15, 0, 3); + world.setBlock(x + 12, y + 5, z + 26, Block15, 0, 3); + world.setBlock(x + 4, y + 5, z + 27, Block15, 0, 3); + world.setBlock(x + 12, y + 5, z + 27, Block15, 0, 3); + world.setBlock(x + 5, y + 5, z + 28, Block15, 0, 3); + world.setBlock(x + 11, y + 5, z + 28, Block15, 0, 3); + world.setBlock(x + 6, y + 5, z + 29, Block15, 0, 3); + world.setBlock(x + 7, y + 5, z + 29, Block15, 0, 3); + world.setBlock(x + 8, y + 5, z + 29, Block15, 0, 3); + world.setBlock(x + 9, y + 5, z + 29, Block15, 0, 3); + world.setBlock(x + 10, y + 5, z + 29, Block15, 0, 3); + world.setBlock(x + 16, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 17, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 18, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 19, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 20, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 21, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 22, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 23, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 24, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 25, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 26, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 27, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 28, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 29, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 30, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 31, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 32, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 33, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 34, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 35, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 36, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 37, y + 6, z + 6, Block1, 0, 3); + world.setBlock(x + 7, y + 6, z + 7, Block5, 0, 3); + world.setBlock(x + 8, y + 6, z + 7, Block5, 0, 3); + world.setBlock(x + 9, y + 6, z + 7, Block5, 0, 3); + world.setBlock(x + 16, y + 6, z + 7, Block1, 0, 3); + world.setBlock(x + 18, y + 6, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 19, y + 6, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 20, y + 6, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 21, y + 6, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 22, y + 6, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 23, y + 6, z + 7, Block1, 0, 3); + world.setBlock(x + 24, y + 6, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 25, y + 6, z + 7, Block8, 3, 3); + world.setBlock(x + 26, y + 6, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 27, y + 6, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 29, y + 6, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 6, z + 7, Blocks.vine, 4, 3); + world.setBlock(x + 31, y + 6, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 33, y + 6, z + 7, Block22, 0, 3); + world.setBlock(x + 34, y + 6, z + 7, Block22, 0, 3); + world.setBlock(x + 35, y + 6, z + 7, Block22, 0, 3); + world.setBlock(x + 36, y + 6, z + 7, Block22, 0, 3); + world.setBlock(x + 37, y + 6, z + 7, Block1, 0, 3); + world.setBlock(x + 6, y + 6, z + 8, Block5, 0, 3); + world.setBlock(x + 7, y + 6, z + 8, Block5, 0, 3); + world.setBlock(x + 8, y + 6, z + 8, Block5, 0, 3); + world.setBlock(x + 9, y + 6, z + 8, Block5, 0, 3); + world.setBlock(x + 10, y + 6, z + 8, Block5, 0, 3); + world.setBlock(x + 16, y + 6, z + 8, Block1, 0, 3); + world.setBlock(x + 22, y + 6, z + 8, Blocks.web, 0, 3); + world.setBlock(x + 23, y + 6, z + 8, Block1, 0, 3); + world.setBlock(x + 26, y + 6, z + 8, Blocks.web, 0, 3); + world.setBlock(x + 32, y + 6, z + 8, Blocks.web, 0, 3); + world.setBlock(x + 33, y + 6, z + 8, Block22, 0, 3); + world.setBlock(x + 34, y + 6, z + 8, Block22, 0, 3); + world.setBlock(x + 35, y + 6, z + 8, Block22, 0, 3); + world.setBlock(x + 36, y + 6, z + 8, Block22, 0, 3); + world.setBlock(x + 37, y + 6, z + 8, Block1, 0, 3); + world.setBlock(x + 5, y + 6, z + 9, Block5, 0, 3); + world.setBlock(x + 6, y + 6, z + 9, Block5, 0, 3); + world.setBlock(x + 7, y + 6, z + 9, Block5, 0, 3); + world.setBlock(x + 8, y + 6, z + 9, Block5, 0, 3); + world.setBlock(x + 9, y + 6, z + 9, Block5, 0, 3); + world.setBlock(x + 10, y + 6, z + 9, Block5, 0, 3); + world.setBlock(x + 11, y + 6, z + 9, Block5, 0, 3); + world.setBlock(x + 16, y + 6, z + 9, Block1, 0, 3); + world.setBlock(x + 23, y + 6, z + 9, Block1, 0, 3); + world.setBlock(x + 25, y + 6, z + 9, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 6, z + 9, Blocks.web, 0, 3); + world.setBlock(x + 33, y + 6, z + 9, Blocks.vine, 4, 3); + world.setBlock(x + 35, y + 6, z + 9, Blocks.web, 0, 3); + world.setBlock(x + 36, y + 6, z + 9, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 6, z + 9, Block1, 0, 3); + world.setBlock(x + 4, y + 6, z + 10, Block5, 0, 3); + world.setBlock(x + 5, y + 6, z + 10, Block5, 0, 3); + world.setBlock(x + 6, y + 6, z + 10, Block5, 0, 3); + world.setBlock(x + 10, y + 6, z + 10, Block5, 0, 3); + world.setBlock(x + 11, y + 6, z + 10, Block5, 0, 3); + world.setBlock(x + 12, y + 6, z + 10, Block5, 0, 3); + world.setBlock(x + 16, y + 6, z + 10, Block1, 0, 3); + world.setBlock(x + 19, y + 6, z + 10, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 6, z + 10, Block1, 0, 3); + world.setBlock(x + 24, y + 6, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 6, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 36, y + 6, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 6, z + 10, Block1, 0, 3); + world.setBlock(x + 4, y + 6, z + 11, Block5, 0, 3); + world.setBlock(x + 5, y + 6, z + 11, Block5, 0, 3); + world.setBlock(x + 11, y + 6, z + 11, Block5, 0, 3); + world.setBlock(x + 12, y + 6, z + 11, Block5, 0, 3); + world.setBlock(x + 16, y + 6, z + 11, Block1, 0, 3); + world.setBlock(x + 17, y + 6, z + 11, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 18, y + 6, z + 11, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 19, y + 6, z + 11, Blocks.iron_bars, 0, 3); + world.setBlock(x + 20, y + 6, z + 11, Blocks.web, 0, 3); + world.setBlock(x + 23, y + 6, z + 11, Block1, 0, 3); + world.setBlock(x + 27, y + 6, z + 11, Blocks.vine, 8, 3); + world.setBlock(x + 28, y + 6, z + 11, Block24, 0, 3); + world.setBlock(x + 29, y + 6, z + 11, Block24, 0, 3); + world.setBlock(x + 30, y + 6, z + 11, Block24, 0, 3); + world.setBlock(x + 31, y + 6, z + 11, Blocks.web, 0, 3); + world.setBlock(x + 37, y + 6, z + 11, Block1, 0, 3); + world.setBlock(x + 4, y + 6, z + 12, Block5, 0, 3); + world.setBlock(x + 5, y + 6, z + 12, Block5, 0, 3); + world.setBlock(x + 8, y + 6, z + 12, Block25, 0, 3); + world.setBlock(x + 11, y + 6, z + 12, Block5, 0, 3); + world.setBlock(x + 12, y + 6, z + 12, Block5, 0, 3); + world.setBlock(x + 16, y + 6, z + 12, Block1, 0, 3); + world.setBlock(x + 17, y + 6, z + 12, Blocks.stone_stairs, 7, 3); + world.setBlock(x + 18, y + 6, z + 12, Blocks.stone_stairs, 7, 3); + world.setBlock(x + 19, y + 6, z + 12, Blocks.iron_bars, 0, 3); + world.setBlock(x + 20, y + 6, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 22, y + 6, z + 12, Blocks.vine, 8, 3); + world.setBlock(x + 23, y + 6, z + 12, Block1, 0, 3); + world.setBlock(x + 24, y + 6, z + 12, Blocks.vine, 2, 3); + world.setBlock(x + 27, y + 6, z + 12, Blocks.vine, 8, 3); + world.setBlock(x + 28, y + 6, z + 12, Block24, 0, 3); + world.setBlock(x + 29, y + 6, z + 12, Block24, 0, 3); + world.setBlock(x + 30, y + 6, z + 12, Block24, 0, 3); + world.setBlock(x + 31, y + 6, z + 12, Blocks.vine, 2, 3); + world.setBlock(x + 36, y + 6, z + 12, Blocks.vine, 8, 3); + world.setBlock(x + 37, y + 6, z + 12, Block1, 0, 3); + world.setBlock(x + 4, y + 6, z + 13, Block5, 0, 3); + world.setBlock(x + 5, y + 6, z + 13, Block5, 0, 3); + world.setBlock(x + 11, y + 6, z + 13, Block5, 0, 3); + world.setBlock(x + 12, y + 6, z + 13, Block5, 0, 3); + world.setBlock(x + 16, y + 6, z + 13, Block1, 0, 3); + world.setBlock(x + 17, y + 6, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 23, y + 6, z + 13, Block1, 0, 3); + world.setBlock(x + 27, y + 6, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 28, y + 6, z + 13, Block24, 0, 3); + world.setBlock(x + 29, y + 6, z + 13, Block24, 0, 3); + world.setBlock(x + 30, y + 6, z + 13, Block24, 0, 3); + world.setBlock(x + 31, y + 6, z + 13, Blocks.vine, 2, 3); + world.setBlock(x + 35, y + 6, z + 13, Blocks.vine, 4, 3); + world.setBlock(x + 36, y + 6, z + 13, Blocks.vine, 8, 3); + world.setBlock(x + 37, y + 6, z + 13, Blocks.gravel, 0, 3); + world.setBlock(x + 4, y + 6, z + 14, Block5, 0, 3); + world.setBlock(x + 5, y + 6, z + 14, Block5, 0, 3); + world.setBlock(x + 6, y + 6, z + 14, Block5, 0, 3); + world.setBlock(x + 10, y + 6, z + 14, Block5, 0, 3); + world.setBlock(x + 11, y + 6, z + 14, Block5, 0, 3); + world.setBlock(x + 12, y + 6, z + 14, Block5, 0, 3); + world.setBlock(x + 16, y + 6, z + 14, Block1, 0, 3); + world.setBlock(x + 17, y + 6, z + 14, Blocks.vine, 2, 3); + world.setBlock(x + 23, y + 6, z + 14, Block1, 0, 3); + world.setBlock(x + 24, y + 6, z + 14, Blocks.vine, 2, 3); + world.setBlock(x + 26, y + 6, z + 14, Blocks.web, 0, 3); + world.setBlock(x + 28, y + 6, z + 14, Blocks.web, 0, 3); + world.setBlock(x + 29, y + 6, z + 14, Block25, 0, 3); + world.setBlock(x + 5, y + 6, z + 15, Block5, 0, 3); + world.setBlock(x + 6, y + 6, z + 15, Block5, 0, 3); + world.setBlock(x + 7, y + 6, z + 15, Block5, 0, 3); + world.setBlock(x + 8, y + 6, z + 15, Block5, 0, 3); + world.setBlock(x + 9, y + 6, z + 15, Block5, 0, 3); + world.setBlock(x + 10, y + 6, z + 15, Block5, 0, 3); + world.setBlock(x + 11, y + 6, z + 15, Block5, 0, 3); + world.setBlock(x + 16, y + 6, z + 15, Block1, 0, 3); + world.setBlock(x + 17, y + 6, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 23, y + 6, z + 15, Block1, 0, 3); + world.setBlock(x + 24, y + 6, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 27, y + 6, z + 15, Blocks.web, 0, 3); + world.setBlock(x + 34, y + 6, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 6, y + 6, z + 16, Block5, 0, 3); + world.setBlock(x + 7, y + 6, z + 16, Block5, 0, 3); + world.setBlock(x + 8, y + 6, z + 16, Block5, 0, 3); + world.setBlock(x + 9, y + 6, z + 16, Block5, 0, 3); + world.setBlock(x + 10, y + 6, z + 16, Block5, 0, 3); + world.setBlock(x + 16, y + 6, z + 16, Block1, 0, 3); + world.setBlock(x + 17, y + 6, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 22, y + 6, z + 16, Blocks.vine, 8, 3); + world.setBlock(x + 23, y + 6, z + 16, Block1, 0, 3); + world.setBlock(x + 24, y + 6, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 29, y + 6, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 34, y + 6, z + 16, Blocks.vine, 2, 3); + world.setBlock(x + 16, y + 6, z + 17, Block1, 0, 3); + world.setBlock(x + 17, y + 6, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 18, y + 6, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 20, y + 6, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 21, y + 6, z + 17, Blocks.vine, 1, 3); + world.setBlock(x + 22, y + 6, z + 17, Blocks.vine, 8, 3); + world.setBlock(x + 23, y + 6, z + 17, Block1, 0, 3); + world.setBlock(x + 25, y + 6, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 27, y + 6, z + 17, Blocks.vine, 1, 3); + world.setBlock(x + 28, y + 6, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 30, y + 6, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 33, y + 6, z + 17, Blocks.vine, 3, 3); + world.setBlock(x + 16, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 17, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 18, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 19, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 20, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 21, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 22, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 23, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 24, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 25, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 26, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 27, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 28, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 29, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 30, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 31, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 32, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 33, y + 6, z + 18, Block1, 0, 3); + world.setBlock(x + 34, y + 6, z + 18, Blocks.gravel, 0, 3); + world.setBlock(x + 6, y + 6, z + 21, Block15, 0, 3); + world.setBlock(x + 7, y + 6, z + 21, Block15, 0, 3); + world.setBlock(x + 8, y + 6, z + 21, Block15, 0, 3); + world.setBlock(x + 9, y + 6, z + 21, Block15, 0, 3); + world.setBlock(x + 10, y + 6, z + 21, Block15, 0, 3); + world.setBlock(x + 5, y + 6, z + 22, Block15, 0, 3); + world.setBlock(x + 11, y + 6, z + 22, Block15, 0, 3); + world.setBlock(x + 4, y + 6, z + 23, Block15, 0, 3); + world.setBlock(x + 12, y + 6, z + 23, Block15, 0, 3); + world.setBlock(x + 4, y + 6, z + 24, Block15, 0, 3); + world.setBlock(x + 12, y + 6, z + 24, Block15, 0, 3); + world.setBlock(x + 4, y + 6, z + 25, Block15, 0, 3); + world.setBlock(x + 12, y + 6, z + 25, Block15, 0, 3); + world.setBlock(x + 4, y + 6, z + 26, Block15, 0, 3); + world.setBlock(x + 12, y + 6, z + 26, Block15, 0, 3); + world.setBlock(x + 4, y + 6, z + 27, Block15, 0, 3); + world.setBlock(x + 12, y + 6, z + 27, Block15, 0, 3); + world.setBlock(x + 5, y + 6, z + 28, Block15, 0, 3); + world.setBlock(x + 11, y + 6, z + 28, Block15, 0, 3); + world.setBlock(x + 6, y + 6, z + 29, Block15, 0, 3); + world.setBlock(x + 7, y + 6, z + 29, Block15, 0, 3); + world.setBlock(x + 8, y + 6, z + 29, Block15, 0, 3); + world.setBlock(x + 9, y + 6, z + 29, Block15, 0, 3); + world.setBlock(x + 10, y + 6, z + 29, Block15, 0, 3); + world.setBlock(x + 16, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 17, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 18, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 19, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 20, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 21, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 22, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 23, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 24, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 25, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 26, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 27, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 28, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 29, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 30, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 31, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 32, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 33, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 34, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 35, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 36, y + 7, z + 6, Block1, 0, 3); + world.setBlock(x + 16, y + 7, z + 7, Block1, 0, 3); + world.setBlock(x + 19, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 20, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 21, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 22, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 23, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 24, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 25, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 26, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 27, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 28, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 29, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 30, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 31, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 32, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 33, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 34, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 35, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 36, y + 7, z + 7, Block6, 0, 3); + world.setBlock(x + 37, y + 7, z + 7, Block1, 0, 3); + world.setBlock(x + 16, y + 7, z + 8, Block1, 0, 3); + world.setBlock(x + 19, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 20, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 21, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 22, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 23, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 24, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 25, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 26, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 27, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 28, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 29, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 30, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 31, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 32, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 33, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 34, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 35, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 36, y + 7, z + 8, Block6, 0, 3); + world.setBlock(x + 37, y + 7, z + 8, Block1, 0, 3); + world.setBlock(x + 6, y + 7, z + 9, Block5, 0, 3); + world.setBlock(x + 7, y + 7, z + 9, Block5, 0, 3); + world.setBlock(x + 8, y + 7, z + 9, Block5, 0, 3); + world.setBlock(x + 9, y + 7, z + 9, Block5, 0, 3); + world.setBlock(x + 10, y + 7, z + 9, Block5, 0, 3); + world.setBlock(x + 16, y + 7, z + 9, Block1, 0, 3); + world.setBlock(x + 19, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 20, y + 7, z + 9, Block25, 0, 3); + world.setBlock(x + 21, y + 7, z + 9, Block25, 0, 3); + world.setBlock(x + 22, y + 7, z + 9, Block25, 0, 3); + world.setBlock(x + 23, y + 7, z + 9, Block25, 0, 3); + world.setBlock(x + 24, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 25, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 26, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 27, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 28, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 29, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 30, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 31, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 32, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 33, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 34, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 35, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 36, y + 7, z + 9, Block6, 0, 3); + world.setBlock(x + 37, y + 7, z + 9, Block1, 0, 3); + world.setBlock(x + 5, y + 7, z + 10, Block5, 0, 3); + world.setBlock(x + 6, y + 7, z + 10, Block5, 0, 3); + world.setBlock(x + 10, y + 7, z + 10, Block5, 0, 3); + world.setBlock(x + 11, y + 7, z + 10, Block5, 0, 3); + world.setBlock(x + 16, y + 7, z + 10, Block1, 0, 3); + world.setBlock(x + 19, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 20, y + 7, z + 10, Block25, 0, 3); + world.setBlock(x + 21, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 22, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 23, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 24, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 25, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 26, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 27, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 28, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 29, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 30, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 31, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 32, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 33, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 34, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 35, y + 7, z + 10, Block6, 0, 3); + world.setBlock(x + 36, y + 7, z + 10, Block18, 0, 3); + world.setBlock(x + 37, y + 7, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + 7, z + 11, Block5, 0, 3); + world.setBlock(x + 11, y + 7, z + 11, Block5, 0, 3); + world.setBlock(x + 16, y + 7, z + 11, Block1, 0, 3); + world.setBlock(x + 19, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 20, y + 7, z + 11, Block25, 0, 3); + world.setBlock(x + 21, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 22, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 23, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 24, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 25, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 26, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 27, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 28, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 29, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 30, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 31, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 32, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 33, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 34, y + 7, z + 11, Block6, 0, 3); + world.setBlock(x + 35, y + 7, z + 11, Block18, 0, 3); + world.setBlock(x + 36, y + 7, z + 11, Block18, 0, 3); + world.setBlock(x + 37, y + 7, z + 11, Block1, 0, 3); + world.setBlock(x + 5, y + 7, z + 12, Block5, 0, 3); + world.setBlock(x + 8, y + 7, z + 12, Block25, 0, 3); + world.setBlock(x + 9, y + 7, z + 12, Block25, 0, 3); + world.setBlock(x + 10, y + 7, z + 12, Block25, 0, 3); + world.setBlock(x + 11, y + 7, z + 12, Block25, 0, 3); + world.setBlock(x + 12, y + 7, z + 12, Block25, 0, 3); + world.setBlock(x + 13, y + 7, z + 12, Block25, 0, 3); + world.setBlock(x + 14, y + 7, z + 12, Block25, 0, 3); + world.setBlock(x + 15, y + 7, z + 12, Block25, 0, 3); + world.setBlock(x + 16, y + 7, z + 12, Block25, 0, 3); + world.setBlock(x + 17, y + 7, z + 12, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 18, y + 7, z + 12, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 19, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 20, y + 7, z + 12, Block25, 0, 3); + world.setBlock(x + 21, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 22, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 23, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 24, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 25, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 26, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 27, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 28, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 29, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 30, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 31, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 32, y + 7, z + 12, Block6, 0, 3); + world.setBlock(x + 33, y + 7, z + 12, Block18, 0, 3); + world.setBlock(x + 34, y + 7, z + 12, Block18, 0, 3); + world.setBlock(x + 35, y + 7, z + 12, Block18, 0, 3); + world.setBlock(x + 37, y + 7, z + 12, Blocks.gravel, 0, 3); + world.setBlock(x + 5, y + 7, z + 13, Block5, 0, 3); + world.setBlock(x + 11, y + 7, z + 13, Block5, 0, 3); + world.setBlock(x + 16, y + 7, z + 13, Block25, 0, 3); + world.setBlock(x + 17, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 18, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 19, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 20, y + 7, z + 13, Block25, 0, 3); + world.setBlock(x + 21, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 22, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 23, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 24, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 25, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 26, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 27, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 28, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 29, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 30, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 31, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 32, y + 7, z + 13, Block6, 0, 3); + world.setBlock(x + 33, y + 7, z + 13, Block18, 0, 3); + world.setBlock(x + 34, y + 7, z + 13, Block18, 0, 3); + world.setBlock(x + 35, y + 7, z + 13, Blocks.vine, 4, 3); + world.setBlock(x + 5, y + 7, z + 14, Block5, 0, 3); + world.setBlock(x + 6, y + 7, z + 14, Block5, 0, 3); + world.setBlock(x + 10, y + 7, z + 14, Block5, 0, 3); + world.setBlock(x + 11, y + 7, z + 14, Block5, 0, 3); + world.setBlock(x + 16, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 17, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 18, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 19, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 20, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 21, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 22, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 23, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 24, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 25, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 26, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 27, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 28, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 29, y + 7, z + 14, Block25, 0, 3); + world.setBlock(x + 30, y + 7, z + 14, Block6, 0, 3); + world.setBlock(x + 31, y + 7, z + 14, Block6, 0, 3); + world.setBlock(x + 32, y + 7, z + 14, Block18, 0, 3); + world.setBlock(x + 33, y + 7, z + 14, Block18, 0, 3); + world.setBlock(x + 34, y + 7, z + 14, Block18, 0, 3); + world.setBlock(x + 6, y + 7, z + 15, Block5, 0, 3); + world.setBlock(x + 7, y + 7, z + 15, Block5, 0, 3); + world.setBlock(x + 8, y + 7, z + 15, Block5, 0, 3); + world.setBlock(x + 9, y + 7, z + 15, Block5, 0, 3); + world.setBlock(x + 10, y + 7, z + 15, Block5, 0, 3); + world.setBlock(x + 16, y + 7, z + 15, Block1, 0, 3); + world.setBlock(x + 17, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 18, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 19, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 20, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 21, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 22, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 23, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 24, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 25, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 26, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 27, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 28, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 29, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 30, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 31, y + 7, z + 15, Block6, 0, 3); + world.setBlock(x + 32, y + 7, z + 15, Block18, 0, 3); + world.setBlock(x + 33, y + 7, z + 15, Block18, 0, 3); + world.setBlock(x + 34, y + 7, z + 15, Blocks.vine, 2, 3); + world.setBlock(x + 8, y + 7, z + 16, Block5, 0, 3); + world.setBlock(x + 16, y + 7, z + 16, Block1, 0, 3); + world.setBlock(x + 17, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 18, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 19, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 20, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 21, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 22, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 23, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 24, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 25, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 26, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 27, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 28, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 29, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 30, y + 7, z + 16, Block6, 0, 3); + world.setBlock(x + 31, y + 7, z + 16, Block18, 0, 3); + world.setBlock(x + 32, y + 7, z + 16, Block18, 0, 3); + world.setBlock(x + 33, y + 7, z + 16, Block18, 0, 3); + world.setBlock(x + 34, y + 7, z + 16, Blocks.vine, 2, 3); + world.setBlock(x + 8, y + 7, z + 17, Block5, 0, 3); + world.setBlock(x + 16, y + 7, z + 17, Block1, 0, 3); + world.setBlock(x + 17, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 18, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 19, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 20, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 21, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 22, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 23, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 24, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 25, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 26, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 27, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 28, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 29, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 30, y + 7, z + 17, Block6, 0, 3); + world.setBlock(x + 31, y + 7, z + 17, Block18, 0, 3); + world.setBlock(x + 32, y + 7, z + 17, Block18, 0, 3); + world.setBlock(x + 33, y + 7, z + 17, Blocks.vine, 2, 3); + world.setBlock(x + 8, y + 7, z + 18, Block5, 0, 3); + world.setBlock(x + 16, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 17, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 18, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 19, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 20, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 21, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 22, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 23, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 24, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 25, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 26, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 27, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 28, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 29, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 30, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 31, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 32, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 33, y + 7, z + 18, Block1, 0, 3); + world.setBlock(x + 8, y + 7, z + 19, Block5, 0, 3); + world.setBlock(x + 8, y + 7, z + 20, Block5, 0, 3); + world.setBlock(x + 6, y + 7, z + 21, Block15, 0, 3); + world.setBlock(x + 7, y + 7, z + 21, Block15, 0, 3); + world.setBlock(x + 8, y + 7, z + 21, Block15, 0, 3); + world.setBlock(x + 9, y + 7, z + 21, Block15, 0, 3); + world.setBlock(x + 10, y + 7, z + 21, Block15, 0, 3); + world.setBlock(x + 5, y + 7, z + 22, Block15, 0, 3); + world.setBlock(x + 6, y + 7, z + 22, Block7, 0, 3); + world.setBlock(x + 7, y + 7, z + 22, Block7, 0, 3); + world.setBlock(x + 8, y + 7, z + 22, Block7, 0, 3); + world.setBlock(x + 9, y + 7, z + 22, Block7, 0, 3); + world.setBlock(x + 10, y + 7, z + 22, Block7, 0, 3); + world.setBlock(x + 11, y + 7, z + 22, Block15, 0, 3); + world.setBlock(x + 4, y + 7, z + 23, Block15, 0, 3); + world.setBlock(x + 5, y + 7, z + 23, Block7, 0, 3); + world.setBlock(x + 7, y + 7, z + 23, Blocks.iron_bars, 0, 3); + world.setBlock(x + 8, y + 7, z + 23, Block7, 0, 3); + world.setBlock(x + 11, y + 7, z + 23, Block7, 0, 3); + world.setBlock(x + 12, y + 7, z + 23, Block15, 0, 3); + world.setBlock(x + 4, y + 7, z + 24, Block15, 0, 3); + world.setBlock(x + 5, y + 7, z + 24, Block7, 0, 3); + world.setBlock(x + 8, y + 7, z + 24, Block7, 0, 3); + world.setBlock(x + 9, y + 7, z + 24, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 7, z + 24, Block7, 0, 3); + world.setBlock(x + 12, y + 7, z + 24, Block15, 0, 3); + world.setBlock(x + 4, y + 7, z + 25, Block15, 0, 3); + world.setBlock(x + 5, y + 7, z + 25, Block7, 0, 3); + world.setBlock(x + 7, y + 7, z + 25, Blocks.iron_bars, 0, 3); + world.setBlock(x + 8, y + 7, z + 25, Block7, 0, 3); + world.setBlock(x + 9, y + 7, z + 25, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 7, z + 25, Block7, 0, 3); + world.setBlock(x + 12, y + 7, z + 25, Block15, 0, 3); + world.setBlock(x + 4, y + 7, z + 26, Block15, 0, 3); + world.setBlock(x + 5, y + 7, z + 26, Block7, 0, 3); + world.setBlock(x + 8, y + 7, z + 26, Block7, 0, 3); + world.setBlock(x + 11, y + 7, z + 26, Block7, 0, 3); + world.setBlock(x + 12, y + 7, z + 26, Block15, 0, 3); + world.setBlock(x + 4, y + 7, z + 27, Block15, 0, 3); + world.setBlock(x + 5, y + 7, z + 27, Block7, 0, 3); + world.setBlock(x + 7, y + 7, z + 27, Blocks.iron_bars, 0, 3); + world.setBlock(x + 8, y + 7, z + 27, Block7, 0, 3); + world.setBlock(x + 9, y + 7, z + 27, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 7, z + 27, Block7, 0, 3); + world.setBlock(x + 12, y + 7, z + 27, Block15, 0, 3); + world.setBlock(x + 5, y + 7, z + 28, Block15, 0, 3); + world.setBlock(x + 6, y + 7, z + 28, Block7, 0, 3); + world.setBlock(x + 7, y + 7, z + 28, Block7, 0, 3); + world.setBlock(x + 8, y + 7, z + 28, Block7, 0, 3); + world.setBlock(x + 9, y + 7, z + 28, Block7, 0, 3); + world.setBlock(x + 10, y + 7, z + 28, Block7, 0, 3); + world.setBlock(x + 11, y + 7, z + 28, Block15, 0, 3); + world.setBlock(x + 6, y + 7, z + 29, Block15, 0, 3); + world.setBlock(x + 7, y + 7, z + 29, Block15, 0, 3); + world.setBlock(x + 8, y + 7, z + 29, Block15, 0, 3); + world.setBlock(x + 9, y + 7, z + 29, Block15, 0, 3); + world.setBlock(x + 10, y + 7, z + 29, Block15, 0, 3); + world.setBlock(x + 16, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 17, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 18, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 19, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 20, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 21, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 23, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 25, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 26, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 27, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 28, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 29, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 30, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 31, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 32, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 33, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 34, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 35, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 36, y + 8, z + 6, Block1, 0, 3); + world.setBlock(x + 16, y + 8, z + 7, Block1, 0, 3); + world.setBlock(x + 19, y + 8, z + 7, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 8, z + 8, Block1, 0, 3); + world.setBlock(x + 19, y + 8, z + 8, Blocks.iron_bars, 0, 3); + world.setBlock(x + 37, y + 8, z + 8, Block1, 0, 3); + world.setBlock(x + 6, y + 8, z + 9, Block5, 0, 3); + world.setBlock(x + 7, y + 8, z + 9, Block5, 0, 3); + world.setBlock(x + 8, y + 8, z + 9, Block5, 0, 3); + world.setBlock(x + 9, y + 8, z + 9, Block5, 0, 3); + world.setBlock(x + 10, y + 8, z + 9, Block5, 0, 3); + world.setBlock(x + 16, y + 8, z + 9, Block1, 0, 3); + world.setBlock(x + 19, y + 8, z + 9, Blocks.iron_bars, 0, 3); + world.setBlock(x + 23, y + 8, z + 9, Block25, 0, 3); + world.setBlock(x + 24, y + 8, z + 9, Block25, 0, 3); + world.setBlock(x + 25, y + 8, z + 9, Block28, 3, 3); + world.setBlock(x + 26, y + 8, z + 9, Block25, 0, 3); + world.setBlock(x + 27, y + 8, z + 9, Block25, 0, 3); + world.setBlock(x + 28, y + 8, z + 9, Block28, 3, 3); + world.setBlock(x + 29, y + 8, z + 9, Block25, 0, 3); + world.setBlock(x + 30, y + 8, z + 9, Block25, 0, 3); + world.setBlock(x + 31, y + 8, z + 9, Block29, 3, 3); + world.setBlock(x + 37, y + 8, z + 9, Block1, 0, 3); + world.setBlock(x + 5, y + 8, z + 10, Block5, 0, 3); + world.setBlock(x + 6, y + 8, z + 10, Block5, 0, 3); + world.setBlock(x + 7, y + 8, z + 10, Block11, 0, 3); + world.setBlock(x + 8, y + 8, z + 10, Block5, 0, 3); + world.setBlock(x + 9, y + 8, z + 10, Block11, 0, 3); + world.setBlock(x + 10, y + 8, z + 10, Block5, 0, 3); + world.setBlock(x + 11, y + 8, z + 10, Block5, 0, 3); + world.setBlock(x + 16, y + 8, z + 10, Block1, 0, 3); + world.setBlock(x + 37, y + 8, z + 10, Block1, 0, 3); + world.setBlock(x + 5, y + 8, z + 11, Block5, 0, 3); + world.setBlock(x + 6, y + 8, z + 11, Block11, 0, 3); + world.setBlock(x + 10, y + 8, z + 11, Block11, 0, 3); + world.setBlock(x + 11, y + 8, z + 11, Block5, 0, 3); + world.setBlock(x + 12, y + 8, z + 11, Blocks.iron_bars, 0, 3); + world.setBlock(x + 14, y + 8, z + 11, Blocks.iron_bars, 0, 3); + world.setBlock(x + 15, y + 8, z + 11, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 8, z + 11, Block1, 0, 3); + world.setBlock(x + 19, y + 8, z + 11, Blocks.iron_bars, 0, 3); + world.setBlock(x + 37, y + 8, z + 11, Blocks.gravel, 0, 3); + world.setBlock(x + 5, y + 8, z + 12, Block5, 0, 3); + world.setBlock(x + 6, y + 8, z + 12, Block5, 0, 3); + world.setBlock(x + 8, y + 8, z + 12, Block25, 0, 3); + world.setBlock(x + 10, y + 8, z + 12, Block5, 0, 3); + world.setBlock(x + 11, y + 8, z + 12, Block5, 0, 3); + world.setBlock(x + 16, y + 8, z + 12, Block1, 0, 3); + world.setBlock(x + 19, y + 8, z + 12, Blocks.iron_bars, 0, 3); + world.setBlock(x + 5, y + 8, z + 13, Block5, 0, 3); + world.setBlock(x + 6, y + 8, z + 13, Block11, 0, 3); + world.setBlock(x + 10, y + 8, z + 13, Block11, 0, 3); + world.setBlock(x + 11, y + 8, z + 13, Block5, 0, 3); + world.setBlock(x + 12, y + 8, z + 13, Blocks.iron_bars, 0, 3); + world.setBlock(x + 13, y + 8, z + 13, Blocks.iron_bars, 0, 3); + world.setBlock(x + 14, y + 8, z + 13, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 8, z + 13, Block1, 0, 3); + world.setBlock(x + 33, y + 8, z + 13, Block13, 5, 3); + world.setBlock(x + 5, y + 8, z + 14, Block5, 0, 3); + world.setBlock(x + 6, y + 8, z + 14, Block5, 0, 3); + world.setBlock(x + 7, y + 8, z + 14, Block11, 0, 3); + world.setBlock(x + 8, y + 8, z + 14, Block5, 0, 3); + world.setBlock(x + 9, y + 8, z + 14, Block11, 0, 3); + world.setBlock(x + 10, y + 8, z + 14, Block5, 0, 3); + world.setBlock(x + 11, y + 8, z + 14, Block5, 0, 3); + world.setBlock(x + 16, y + 8, z + 14, Block1, 0, 3); + world.setBlock(x + 22, y + 8, z + 14, Block5, 0, 3); + world.setBlock(x + 23, y + 8, z + 14, Block25, 0, 3); + world.setBlock(x + 27, y + 8, z + 14, Block5, 0, 3); + world.setBlock(x + 28, y + 8, z + 14, Block25, 0, 3); + world.setBlock(x + 29, y + 8, z + 14, Block5, 0, 3); + world.setBlock(x + 32, y + 8, z + 14, Block8, 5, 3); + world.setBlock(x + 6, y + 8, z + 15, Block5, 0, 3); + world.setBlock(x + 7, y + 8, z + 15, Block5, 0, 3); + world.setBlock(x + 8, y + 8, z + 15, Block5, 0, 3); + world.setBlock(x + 9, y + 8, z + 15, Block5, 0, 3); + world.setBlock(x + 10, y + 8, z + 15, Block5, 0, 3); + world.setBlock(x + 16, y + 8, z + 15, Block1, 0, 3); + world.setBlock(x + 22, y + 8, z + 15, Block5, 0, 3); + world.setBlock(x + 23, y + 8, z + 15, Block5, 0, 3); + world.setBlock(x + 24, y + 8, z + 15, Block5, 0, 3); + world.setBlock(x + 27, y + 8, z + 15, Block5, 0, 3); + world.setBlock(x + 28, y + 8, z + 15, Block5, 0, 3); + world.setBlock(x + 29, y + 8, z + 15, Block5, 0, 3); + world.setBlock(x + 30, y + 8, z + 15, Block8, 2, 3); + world.setBlock(x + 31, y + 8, z + 15, Block8, 3, 3); + world.setBlock(x + 7, y + 8, z + 16, Blocks.iron_bars, 0, 3); + world.setBlock(x + 9, y + 8, z + 16, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 8, z + 16, Block1, 0, 3); + world.setBlock(x + 22, y + 8, z + 16, Block5, 0, 3); + world.setBlock(x + 23, y + 8, z + 16, Block5, 0, 3); + world.setBlock(x + 24, y + 8, z + 16, Block5, 0, 3); + world.setBlock(x + 27, y + 8, z + 16, Block5, 0, 3); + world.setBlock(x + 28, y + 8, z + 16, Block5, 0, 3); + world.setBlock(x + 29, y + 8, z + 16, Block5, 0, 3); + world.setBlock(x + 7, y + 8, z + 17, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 8, z + 17, Block1, 0, 3); + world.setBlock(x + 7, y + 8, z + 18, Blocks.iron_bars, 0, 3); + world.setBlock(x + 9, y + 8, z + 18, Blocks.iron_bars, 0, 3); + world.setBlock(x + 16, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 17, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 18, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 19, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 20, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 21, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 22, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 23, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 24, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 25, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 26, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 27, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 28, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 29, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 30, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 31, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 32, y + 8, z + 18, Block1, 0, 3); + world.setBlock(x + 33, y + 8, z + 18, Blocks.gravel, 0, 3); + world.setBlock(x + 9, y + 8, z + 19, Blocks.iron_bars, 0, 3); + world.setBlock(x + 7, y + 8, z + 21, Blocks.iron_bars, 0, 3); + world.setBlock(x + 9, y + 8, z + 21, Blocks.iron_bars, 0, 3); + world.setBlock(x + 6, y + 8, z + 22, Block15, 0, 3); + world.setBlock(x + 7, y + 8, z + 22, Block15, 0, 3); + world.setBlock(x + 8, y + 8, z + 22, Blocks.iron_door, 1, 3); + ItemDoor.placeDoorBlock(world, x + 8, y + 8, z + 22, 1, Blocks.iron_door); + world.setBlock(x + 9, y + 8, z + 22, Block15, 0, 3); + world.setBlock(x + 10, y + 8, z + 22, Block15, 0, 3); + world.setBlock(x + 5, y + 8, z + 23, Block15, 0, 3); + world.setBlock(x + 7, y + 8, z + 23, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 8, z + 23, Block15, 0, 3); + world.setBlock(x + 5, y + 8, z + 24, Block15, 0, 3); + world.setBlock(x + 9, y + 8, z + 24, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 8, z + 24, Block15, 0, 3); + world.setBlock(x + 5, y + 8, z + 25, Block15, 0, 3); + world.setBlock(x + 9, y + 8, z + 25, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 8, z + 25, Block15, 0, 3); + world.setBlock(x + 5, y + 8, z + 26, Block15, 0, 3); + world.setBlock(x + 11, y + 8, z + 26, Block15, 0, 3); + world.setBlock(x + 5, y + 8, z + 27, Block15, 0, 3); + world.setBlock(x + 7, y + 8, z + 27, Blocks.iron_bars, 0, 3); + world.setBlock(x + 9, y + 8, z + 27, Blocks.iron_bars, 0, 3); + world.setBlock(x + 11, y + 8, z + 27, Block15, 0, 3); + world.setBlock(x + 6, y + 8, z + 28, Block15, 0, 3); + world.setBlock(x + 7, y + 8, z + 28, Block15, 0, 3); + world.setBlock(x + 8, y + 8, z + 28, Block15, 0, 3); + world.setBlock(x + 9, y + 8, z + 28, Block15, 0, 3); + world.setBlock(x + 10, y + 8, z + 28, Block15, 0, 3); + world.setBlock(x + 7, y + 9, z + 10, Block11, 0, 3); + world.setBlock(x + 8, y + 9, z + 10, Block5, 0, 3); + world.setBlock(x + 9, y + 9, z + 10, Block11, 0, 3); + world.setBlock(x + 6, y + 9, z + 11, Block11, 0, 3); + world.setBlock(x + 7, y + 9, z + 11, Block11, 0, 3); + world.setBlock(x + 8, y + 9, z + 11, Block5, 0, 3); + world.setBlock(x + 9, y + 9, z + 11, Block11, 0, 3); + world.setBlock(x + 10, y + 9, z + 11, Block11, 0, 3); + world.setBlock(x + 6, y + 9, z + 12, Block5, 0, 3); + world.setBlock(x + 7, y + 9, z + 12, Block5, 0, 3); + world.setBlock(x + 8, y + 9, z + 12, Block5, 0, 3); + world.setBlock(x + 9, y + 9, z + 12, Block5, 0, 3); + world.setBlock(x + 10, y + 9, z + 12, Block5, 0, 3); + world.setBlock(x + 6, y + 9, z + 13, Block11, 0, 3); + world.setBlock(x + 7, y + 9, z + 13, Block11, 0, 3); + world.setBlock(x + 8, y + 9, z + 13, Block5, 0, 3); + world.setBlock(x + 9, y + 9, z + 13, Block11, 0, 3); + world.setBlock(x + 10, y + 9, z + 13, Block11, 0, 3); + world.setBlock(x + 7, y + 9, z + 14, Block11, 0, 3); + + generate_r01(world, rand, x, y, z); + return true; + + } + public boolean generate_r01(World world, Random rand, int x, int y, int z) + { + + world.setBlock(x + 8, y + 9, z + 14, Block5, 0, 3); + world.setBlock(x + 9, y + 9, z + 14, Block11, 0, 3); + world.setBlock(x + 23, y + 9, z + 15, Block5, 0, 3); + world.setBlock(x + 28, y + 9, z + 15, Block5, 0, 3); + world.setBlock(x + 29, y + 9, z + 15, Block8, 5, 3); + world.setBlock(x + 6, y + 9, z + 22, Block15, 0, 3); + world.setBlock(x + 7, y + 9, z + 22, Block15, 0, 3); + //world.setBlock(x + 8, y + 9, z + 22, Blocks.iron_door, 8, 3); + world.setBlock(x + 9, y + 9, z + 22, Block15, 0, 3); + world.setBlock(x + 10, y + 9, z + 22, Block15, 0, 3); + world.setBlock(x + 5, y + 9, z + 23, Block15, 0, 3); + world.setBlock(x + 11, y + 9, z + 23, Block15, 0, 3); + world.setBlock(x + 5, y + 9, z + 24, Block15, 0, 3); + world.setBlock(x + 11, y + 9, z + 24, Block15, 0, 3); + world.setBlock(x + 5, y + 9, z + 25, Block15, 0, 3); + world.setBlock(x + 11, y + 9, z + 25, Block15, 0, 3); + world.setBlock(x + 5, y + 9, z + 26, Block15, 0, 3); + world.setBlock(x + 11, y + 9, z + 26, Block15, 0, 3); + world.setBlock(x + 5, y + 9, z + 27, Block15, 0, 3); + world.setBlock(x + 11, y + 9, z + 27, Block15, 0, 3); + world.setBlock(x + 6, y + 9, z + 28, Block15, 0, 3); + world.setBlock(x + 7, y + 9, z + 28, Block15, 0, 3); + world.setBlock(x + 8, y + 9, z + 28, Block15, 0, 3); + world.setBlock(x + 9, y + 9, z + 28, Block15, 0, 3); + world.setBlock(x + 10, y + 9, z + 28, Block15, 0, 3); + world.setBlock(x + 7, y + 10, z + 11, Block11, 0, 3); + world.setBlock(x + 8, y + 10, z + 11, Block5, 0, 3); + world.setBlock(x + 9, y + 10, z + 11, Block11, 0, 3); + world.setBlock(x + 7, y + 10, z + 12, Block5, 0, 3); + world.setBlock(x + 8, y + 10, z + 12, Block5, 0, 3); + world.setBlock(x + 9, y + 10, z + 12, Block5, 0, 3); + world.setBlock(x + 7, y + 10, z + 13, Block11, 0, 3); + world.setBlock(x + 8, y + 10, z + 13, Block5, 0, 3); + world.setBlock(x + 9, y + 10, z + 13, Block11, 0, 3); + world.setBlock(x + 23, y + 10, z + 15, Block8, 5, 3); + world.setBlock(x + 28, y + 10, z + 15, Block8, 5, 3); + world.setBlock(x + 6, y + 10, z + 22, Block15, 0, 3); + world.setBlock(x + 7, y + 10, z + 22, Block15, 0, 3); + world.setBlock(x + 8, y + 10, z + 22, Block15, 0, 3); + world.setBlock(x + 9, y + 10, z + 22, Block15, 0, 3); + world.setBlock(x + 10, y + 10, z + 22, Block15, 0, 3); + world.setBlock(x + 5, y + 10, z + 23, Block15, 0, 3); + world.setBlock(x + 11, y + 10, z + 23, Block15, 0, 3); + world.setBlock(x + 5, y + 10, z + 24, Block15, 0, 3); + world.setBlock(x + 11, y + 10, z + 24, Block15, 0, 3); + world.setBlock(x + 5, y + 10, z + 25, Block15, 0, 3); + world.setBlock(x + 11, y + 10, z + 25, Block15, 0, 3); + world.setBlock(x + 5, y + 10, z + 26, Block15, 0, 3); + world.setBlock(x + 11, y + 10, z + 26, Block15, 0, 3); + world.setBlock(x + 5, y + 10, z + 27, Block15, 0, 3); + world.setBlock(x + 11, y + 10, z + 27, Block15, 0, 3); + world.setBlock(x + 6, y + 10, z + 28, Block15, 0, 3); + world.setBlock(x + 7, y + 10, z + 28, Block15, 0, 3); + world.setBlock(x + 8, y + 10, z + 28, Block15, 0, 3); + world.setBlock(x + 9, y + 10, z + 28, Block15, 0, 3); + world.setBlock(x + 10, y + 10, z + 28, Block15, 0, 3); + world.setBlock(x + 8, y + 11, z + 12, Block5, 0, 3); + world.setBlock(x + 23, y + 11, z + 15, Block8, 5, 3); + world.setBlock(x + 28, y + 11, z + 15, Block8, 5, 3); + world.setBlock(x + 6, y + 11, z + 21, Block15, 0, 3); + world.setBlock(x + 7, y + 11, z + 21, Block15, 0, 3); + world.setBlock(x + 8, y + 11, z + 21, Block15, 0, 3); + world.setBlock(x + 9, y + 11, z + 21, Block15, 0, 3); + world.setBlock(x + 10, y + 11, z + 21, Block15, 0, 3); + world.setBlock(x + 5, y + 11, z + 22, Block15, 0, 3); + world.setBlock(x + 6, y + 11, z + 22, Block7, 0, 3); + world.setBlock(x + 7, y + 11, z + 22, Block7, 0, 3); + world.setBlock(x + 8, y + 11, z + 22, Block7, 0, 3); + world.setBlock(x + 9, y + 11, z + 22, Block7, 0, 3); + world.setBlock(x + 10, y + 11, z + 22, Block7, 0, 3); + world.setBlock(x + 11, y + 11, z + 22, Block15, 0, 3); + world.setBlock(x + 4, y + 11, z + 23, Block15, 0, 3); + world.setBlock(x + 5, y + 11, z + 23, Block7, 0, 3); + world.setBlock(x + 11, y + 11, z + 23, Block7, 0, 3); + world.setBlock(x + 12, y + 11, z + 23, Block15, 0, 3); + world.setBlock(x + 4, y + 11, z + 24, Block15, 0, 3); + world.setBlock(x + 5, y + 11, z + 24, Block7, 0, 3); + world.setBlock(x + 11, y + 11, z + 24, Block7, 0, 3); + world.setBlock(x + 12, y + 11, z + 24, Block15, 0, 3); + world.setBlock(x + 4, y + 11, z + 25, Block15, 0, 3); + world.setBlock(x + 5, y + 11, z + 25, Block7, 0, 3); + world.setBlock(x + 11, y + 11, z + 25, Block7, 0, 3); + world.setBlock(x + 12, y + 11, z + 25, Block15, 0, 3); + world.setBlock(x + 4, y + 11, z + 26, Block15, 0, 3); + world.setBlock(x + 5, y + 11, z + 26, Block7, 0, 3); + world.setBlock(x + 11, y + 11, z + 26, Block7, 0, 3); + world.setBlock(x + 12, y + 11, z + 26, Block15, 0, 3); + world.setBlock(x + 4, y + 11, z + 27, Block15, 0, 3); + world.setBlock(x + 5, y + 11, z + 27, Block7, 0, 3); + world.setBlock(x + 11, y + 11, z + 27, Block7, 0, 3); + world.setBlock(x + 12, y + 11, z + 27, Block15, 0, 3); + world.setBlock(x + 5, y + 11, z + 28, Block15, 0, 3); + world.setBlock(x + 6, y + 11, z + 28, Block7, 0, 3); + world.setBlock(x + 7, y + 11, z + 28, Block7, 0, 3); + world.setBlock(x + 8, y + 11, z + 28, Block7, 0, 3); + world.setBlock(x + 9, y + 11, z + 28, Block7, 0, 3); + world.setBlock(x + 10, y + 11, z + 28, Block7, 0, 3); + world.setBlock(x + 11, y + 11, z + 28, Block15, 0, 3); + world.setBlock(x + 6, y + 11, z + 29, Block15, 0, 3); + world.setBlock(x + 7, y + 11, z + 29, Block15, 0, 3); + world.setBlock(x + 8, y + 11, z + 29, Block15, 0, 3); + world.setBlock(x + 9, y + 11, z + 29, Block15, 0, 3); + world.setBlock(x + 10, y + 11, z + 29, Block15, 0, 3); + world.setBlock(x + 8, y + 12, z + 12, Block27, 3, 3); + world.setBlock(x + 23, y + 12, z + 15, Block8, 5, 3); + world.setBlock(x + 28, y + 12, z + 15, Block8, 5, 3); + world.setBlock(x + 6, y + 12, z + 20, Block15, 0, 3); + world.setBlock(x + 7, y + 12, z + 20, Block15, 0, 3); + world.setBlock(x + 8, y + 12, z + 20, Block15, 0, 3); + world.setBlock(x + 9, y + 12, z + 20, Block15, 0, 3); + world.setBlock(x + 10, y + 12, z + 20, Block15, 0, 3); + world.setBlock(x + 5, y + 12, z + 21, Block15, 0, 3); + world.setBlock(x + 6, y + 12, z + 21, Block7, 0, 3); + world.setBlock(x + 7, y + 12, z + 21, Block7, 0, 3); + world.setBlock(x + 8, y + 12, z + 21, Block7, 0, 3); + world.setBlock(x + 9, y + 12, z + 21, Block7, 0, 3); + world.setBlock(x + 10, y + 12, z + 21, Block7, 0, 3); + world.setBlock(x + 11, y + 12, z + 21, Block15, 0, 3); + world.setBlock(x + 4, y + 12, z + 22, Block15, 0, 3); + world.setBlock(x + 5, y + 12, z + 22, Block7, 0, 3); + world.setBlock(x + 11, y + 12, z + 22, Block7, 0, 3); + world.setBlock(x + 12, y + 12, z + 22, Block15, 0, 3); + world.setBlock(x + 3, y + 12, z + 23, Block15, 0, 3); + world.setBlock(x + 4, y + 12, z + 23, Block7, 0, 3); + world.setBlock(x + 12, y + 12, z + 23, Block7, 0, 3); + world.setBlock(x + 13, y + 12, z + 23, Block15, 0, 3); + world.setBlock(x + 3, y + 12, z + 24, Block15, 0, 3); + world.setBlock(x + 4, y + 12, z + 24, Block7, 0, 3); + world.setBlock(x + 12, y + 12, z + 24, Block7, 0, 3); + world.setBlock(x + 13, y + 12, z + 24, Block15, 0, 3); + world.setBlock(x + 3, y + 12, z + 25, Block15, 0, 3); + world.setBlock(x + 4, y + 12, z + 25, Block7, 0, 3); + world.setBlock(x + 12, y + 12, z + 25, Block7, 0, 3); + world.setBlock(x + 13, y + 12, z + 25, Block15, 0, 3); + world.setBlock(x + 3, y + 12, z + 26, Block15, 0, 3); + world.setBlock(x + 4, y + 12, z + 26, Block7, 0, 3); + world.setBlock(x + 12, y + 12, z + 26, Block7, 0, 3); + world.setBlock(x + 13, y + 12, z + 26, Block15, 0, 3); + world.setBlock(x + 3, y + 12, z + 27, Block15, 0, 3); + world.setBlock(x + 4, y + 12, z + 27, Block7, 0, 3); + world.setBlock(x + 12, y + 12, z + 27, Block7, 0, 3); + world.setBlock(x + 13, y + 12, z + 27, Block15, 0, 3); + world.setBlock(x + 4, y + 12, z + 28, Block15, 0, 3); + world.setBlock(x + 5, y + 12, z + 28, Block7, 0, 3); + world.setBlock(x + 11, y + 12, z + 28, Block7, 0, 3); + world.setBlock(x + 12, y + 12, z + 28, Block15, 0, 3); + world.setBlock(x + 5, y + 12, z + 29, Block15, 0, 3); + world.setBlock(x + 6, y + 12, z + 29, Block7, 0, 3); + world.setBlock(x + 7, y + 12, z + 29, Block7, 0, 3); + world.setBlock(x + 8, y + 12, z + 29, Block7, 0, 3); + world.setBlock(x + 9, y + 12, z + 29, Block7, 0, 3); + world.setBlock(x + 10, y + 12, z + 29, Block7, 0, 3); + world.setBlock(x + 11, y + 12, z + 29, Block15, 0, 3); + world.setBlock(x + 6, y + 12, z + 30, Block15, 0, 3); + world.setBlock(x + 7, y + 12, z + 30, Block15, 0, 3); + world.setBlock(x + 8, y + 12, z + 30, Block15, 0, 3); + world.setBlock(x + 9, y + 12, z + 30, Block15, 0, 3); + world.setBlock(x + 10, y + 12, z + 30, Block15, 0, 3); + world.setBlock(x + 23, y + 13, z + 15, Block13, 5, 3); + world.setBlock(x + 28, y + 13, z + 15, Block13, 5, 3); + world.setBlock(x + 23, y + 14, z + 15, Block8, 3, 3); + world.setBlock(x + 23, y + 15, z + 15, Block13, 3, 3); + world.setBlock(x + 23, y + 16, z + 15, Block8, 3, 3); + world.setBlock(x + 23, y + 17, z + 15, Block8, 3, 3); + world.setBlock(x + 23, y + 18, z + 15, Block8, 3, 3); + world.setBlock(x + 23, y + 19, z + 15, Block27, 3, 3); + + generate_r02_last(world, rand, x, y, z); + return true; + + } + public boolean generate_r02_last(World world, Random rand, int x, int y, int z) + { + + world.setBlock(x + 8, y + 1, z + 7, Blocks.ladder, 2, 3); + world.setBlock(x + 38, y + 1, z + 8, Blocks.wall_sign, 5, 3); + world.setBlock(x + 38, y + 1, z + 9, Blocks.wall_sign, 5, 3); + world.setBlock(x + 35, y + 1, z + 14, Blocks.lever, 14, 3); + world.setBlock(x + 35, y + 1, z + 16, Blocks.lever, 6, 3); + world.setBlock(x + 8, y + 2, z + 7, Blocks.ladder, 2, 3); + world.setBlock(x + 8, y + 3, z + 7, Blocks.ladder, 2, 3); + world.setBlock(x + 8, y + 4, z + 7, Blocks.wall_sign, 2, 3); + world.setBlock(x + 8, y + 5, z + 7, Blocks.wall_sign, 2, 3); + world.setBlock(x + 22, y + 5, z + 14, Blocks.lever, 2, 3); + world.setBlock(x + 8, y + 8, z + 21, Blocks.wall_sign, 2, 3); + world.setBlock(x + 8, y + 9, z + 21, Blocks.wall_sign, 2, 3); + if(MainRegistry.enableDebugMode) + System.out.print("[Debug] Successfully spawned abandoned Power Plant at " + x + " " + y +" " + z + "\n"); + return true; + + } + +} \ No newline at end of file diff --git a/com/hbm/world/Radio01.java b/com/hbm/world/Radio01.java new file mode 100644 index 000000000..86fe7be9d --- /dev/null +++ b/com/hbm/world/Radio01.java @@ -0,0 +1,5134 @@ +//Schematic to java Structure by jajo_11 | inspired by "MITHION'S .SCHEMATIC TO JAVA CONVERTINGTOOL" + +package com.hbm.world; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.HbmChestContents; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemDoor; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +public class Radio01 extends WorldGenerator +{ + protected Block[] GetValidSpawnBlocks() + { + return new Block[] + { + Blocks.grass, + Blocks.dirt, + Blocks.stone, + Blocks.sand, + }; + } + + public boolean LocationIsValidSpawn(World world, int x, int y, int z) + { + + Block checkBlock = world.getBlock(x, y - 1, z); + Block blockAbove = world.getBlock(x, y , z); + Block blockBelow = world.getBlock(x, y - 2, z); + + for (Block i : GetValidSpawnBlocks()) + { + if (blockAbove != Blocks.air) + { + return false; + } + if (checkBlock == i) + { + return true; + } + else if (checkBlock == Blocks.snow_layer && blockBelow == i) + { + return true; + } + else if (checkBlock.getMaterial() == Material.plants && blockBelow == i) + { + return true; + } + } + return false; + + } + + public boolean generate(World world, Random rand, int x, int y, int z) + { + int i = rand.nextInt(1); + + if(i == 0) + { + generate_r0(world, rand, x, y, z); + } + + return true; + + } + + public boolean generate_r0(World world, Random rand, int x, int y, int z) + { + if(!LocationIsValidSpawn(world, x + 5, y, z + 15)) + { + return false; + } + + world.setBlock(x + 0, y + -1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + -1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + -1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + -1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + -1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + -1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + -1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + -1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + -1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + -1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + -1, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + -1, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + -1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + -1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + -1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + -1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + -1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + -1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + -1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + -1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + -1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + -1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + -1, z + 20, ModBlocks.brick_concrete, 0, 3); + //world.setBlock(x + 0, y + -1, z + 21, Blocks.air, 0, 3); + //world.setBlock(x + 1, y + -1, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + -1, z + 21, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + -1, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 21, ModBlocks.brick_concrete, 0, 3); + //world.setBlock(x + 0, y + -1, z + 22, Blocks.air, 0, 3); + //world.setBlock(x + 1, y + -1, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + -1, z + 22, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + -1, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 22, ModBlocks.brick_concrete, 0, 3); + //world.setBlock(x + 0, y + -1, z + 23, Blocks.air, 0, 3); + //world.setBlock(x + 1, y + -1, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + -1, z + 23, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + -1, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 23, ModBlocks.brick_concrete, 0, 3); + //world.setBlock(x + 0, y + -1, z + 24, Blocks.air, 0, 3); + //world.setBlock(x + 1, y + -1, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + -1, z + 24, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + -1, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + -1, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + -1, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + -1, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + -1, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + -1, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + -1, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + -1, z + 24, ModBlocks.brick_concrete, 0, 3); + //world.setBlock(x + 0, y + -1, z + 25, Blocks.air, 0, 3); + //world.setBlock(x + 1, y + -1, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + -1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + -1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + -1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + -1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + -1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + -1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + -1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + -1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + -1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 0, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 0, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 0, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 0, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 0, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 0, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 0, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 0, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 0, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 0, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 0, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 0, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 0, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 0, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 0, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 0, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 0, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 0, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 0, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 0, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 0, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 0, z + 4, Blocks.stone_stairs, 0, 3); + world.setBlock(x + 4, y + 0, z + 4, Blocks.stone_stairs, 5, 3); + world.setBlock(x + 5, y + 0, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 4, Blocks.wooden_door, 3, 3); + ItemDoor.placeDoorBlock(world, x + 8, y + 0, z + 4, 3, Blocks.wooden_door); + world.setBlock(x + 9, y + 0, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 0, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 0, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 0, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 0, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 0, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 0, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 0, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 0, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 0, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 4, y + 0, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 5, y + 0, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 0, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 0, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 7, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 0, z + 7, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 0, z + 7, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 4, y + 0, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 0, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 8, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 0, z + 8, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 0, z + 8, ModBlocks.tape_recorder, 5, 3); + world.setBlock(x + 4, y + 0, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 8, Blocks.wooden_door, 2, 3); + ItemDoor.placeDoorBlock(world, x + 7, y + 0, z + 8, 2, Blocks.wooden_door); + world.setBlock(x + 8, y + 0, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 9, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 0, z + 9, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 0, z + 9, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 4, y + 0, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 9, Blocks.oak_stairs, 0, 3); + world.setBlock(x + 6, y + 0, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 0, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 0, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 0, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 0, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 0, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 0, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 11, ModBlocks.block_titanium, 0, 3); + world.setBlock(x + 2, y + 0, z + 11, ModBlocks.block_titanium, 0, 3); + world.setBlock(x + 3, y + 0, z + 11, ModBlocks.steel_poles, 5, 3); + world.setBlock(x + 4, y + 0, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 11, Blocks.flower_pot, 0, 3); + world.setBlock(x + 6, y + 0, z + 11, Blocks.chest, 3, 3); + world.setBlockMetadataWithNotify(x + 6, y + 0, z + 11, 5, 3); + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(1), (TileEntityChest)world.getTileEntity(x + 6, y + 0, z + 11), 8); + world.setBlock(x + 7, y + 0, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 12, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 0, z + 12, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 0, z + 12, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 4, y + 0, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 12, Blocks.flower_pot, 0, 3); + world.setBlock(x + 7, y + 0, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 13, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 0, z + 13, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 0, z + 13, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 4, y + 0, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 13, Blocks.iron_door, 2, 3); + ItemDoor.placeDoorBlock(world, x + 7, y + 0, z + 13, 2, Blocks.iron_door); + world.setBlock(x + 8, y + 0, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 14, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 0, z + 14, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 0, z + 14, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 4, y + 0, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 0, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 0, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 0, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 0, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 0, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 0, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 0, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 0, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 0, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 0, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 0, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 17, Blocks.iron_door, 0, 3); + ItemDoor.placeDoorBlock(world, x + 0, y + 0, z + 17, 0, Blocks.iron_door); + world.setBlock(x - 1, y + 1, z + 17, Blocks.wall_sign, 4, 3); + world.setBlock(x + 1, y + 0, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 0, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 0, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 0, z + 17, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 0, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 0, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 18, Blocks.iron_door, 0, 3); + ItemDoor.placeDoorBlock(world, x + 0, y + 0, z + 18, 0, Blocks.iron_door); + world.setBlock(x - 1, y + 1, z + 18, Blocks.wall_sign, 4, 3); + world.setBlock(x + 1, y + 0, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 0, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 0, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 0, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 0, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 19, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 0, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 0, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 0, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 0, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 0, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 0, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 0, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 0, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 0, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 0, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 0, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 0, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 0, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 0, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 0, z + 21, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 0, z + 21, ModBlocks.steel_poles, 3, 3); + world.setBlock(x + 4, y + 0, z + 21, ModBlocks.steel_poles, 3, 3); + world.setBlock(x + 5, y + 0, z + 21, ModBlocks.steel_poles, 3, 3); + world.setBlock(x + 6, y + 0, z + 21, ModBlocks.red_barrel, 0, 3); + world.setBlock(x + 7, y + 0, z + 21, ModBlocks.tape_recorder, 4, 3); + world.setBlock(x + 8, y + 0, z + 21, ModBlocks.tape_recorder, 4, 3); + world.setBlock(x + 9, y + 0, z + 21, ModBlocks.tape_recorder, 4, 3); + world.setBlock(x + 10, y + 0, z + 21, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 0, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 0, z + 22, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 0, z + 22, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 0, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 0, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 0, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 0, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 0, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 0, z + 22, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 0, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 0, z + 23, Blocks.wooden_door, 0, 3); + ItemDoor.placeDoorBlock(world, x + 2, y + 0, z + 23, 0, Blocks.wooden_door); + world.setBlock(x + 3, y + 0, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 0, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 0, z + 23, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 0, z + 23, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 0, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 0, z + 23, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 9, y + 0, z + 23, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 10, y + 0, z + 23, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 0, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 0, z + 24, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 0, z + 24, ModBlocks.pole_top, 2, 3); + world.setBlock(x + 4, y + 0, z + 24, ModBlocks.pole_top, 2, 3); + world.setBlock(x + 5, y + 0, z + 24, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 0, z + 24, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 0, z + 24, Blocks.chest, 2, 3); + world.setBlockMetadataWithNotify(x + 7, y + 0, z + 24, 5, 3); + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(2), (TileEntityChest)world.getTileEntity(x + 7, y + 0, z + 24), 8); + world.setBlock(x + 8, y + 0, z + 24, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 9, y + 0, z + 24, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 10, y + 0, z + 24, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 0, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 0, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 0, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 0, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 0, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 0, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 0, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 0, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 0, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 0, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 0, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 1, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 1, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 1, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 1, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 1, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 1, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 1, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 1, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 1, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 3, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 1, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 1, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 1, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 1, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 1, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 1, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 1, z + 4, Blocks.stone_stairs, 0, 3); + world.setBlock(x + 5, y + 1, z + 4, Blocks.stone_stairs, 5, 3); + world.setBlock(x + 6, y + 1, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 4, ModBlocks.brick_concrete, 0, 3); + //world.setBlock(x + 8, y + 1, z + 4, Blocks.wooden_door, 8, 3); + world.setBlock(x + 9, y + 1, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 1, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 1, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 1, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 1, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 1, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 1, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 1, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 1, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 1, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 1, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 4, y + 1, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 5, y + 1, z + 6, ModBlocks.tape_recorder, 3, 3); + world.setBlock(x + 6, y + 1, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 1, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 1, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 7, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 1, z + 7, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 1, z + 7, ModBlocks.tape_recorder, 5, 3); + world.setBlock(x + 4, y + 1, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 1, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 8, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 1, z + 8, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 1, z + 8, ModBlocks.tape_recorder, 5, 3); + world.setBlock(x + 4, y + 1, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 8, Blocks.air, 0, 3); + //world.setBlock(x + 7, y + 1, z + 8, Blocks.wooden_door, 8, 3); + world.setBlock(x + 8, y + 1, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 9, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 1, z + 9, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 1, z + 9, ModBlocks.tape_recorder, 5, 3); + world.setBlock(x + 4, y + 1, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 1, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 1, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 1, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 1, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 1, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 1, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 1, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 1, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 11, ModBlocks.block_titanium, 0, 3); + world.setBlock(x + 2, y + 1, z + 11, ModBlocks.block_titanium, 0, 3); + world.setBlock(x + 3, y + 1, z + 11, ModBlocks.steel_poles, 5, 3); + world.setBlock(x + 4, y + 1, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 1, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 12, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 1, z + 12, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 1, z + 12, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 4, y + 1, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 1, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 13, ModBlocks.block_tungsten, 0, 3); + world.setBlock(x + 2, y + 1, z + 13, ModBlocks.block_tungsten, 0, 3); + world.setBlock(x + 3, y + 1, z + 13, ModBlocks.block_tungsten, 0, 3); + world.setBlock(x + 4, y + 1, z + 13, ModBlocks.block_tungsten, 0, 3); + world.setBlock(x + 5, y + 1, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 13, Blocks.air, 0, 3); + //world.setBlock(x + 7, y + 1, z + 13, Blocks.iron_door, 8, 3); + world.setBlock(x + 8, y + 1, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 14, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 1, z + 14, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 3, y + 1, z + 14, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 4, y + 1, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 14, Blocks.web, 0, 3); + world.setBlock(x + 7, y + 1, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 1, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 1, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 1, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 1, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 1, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 1, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 1, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 1, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 1, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 1, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 1, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 1, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 1, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 16, ModBlocks.brick_concrete, 0, 3); + //world.setBlock(x + 0, y + 1, z + 17, Blocks.iron_door, 8, 3); + world.setBlock(x + 1, y + 1, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 1, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 1, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 1, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 1, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 17, ModBlocks.brick_concrete, 0, 3); + //world.setBlock(x + 0, y + 1, z + 18, Blocks.iron_door, 9, 3); + world.setBlock(x + 1, y + 1, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 1, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 1, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 1, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 1, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 1, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 1, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 1, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 1, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 19, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 1, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 1, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 1, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 1, z + 21, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 1, z + 21, ModBlocks.steel_poles, 3, 3); + world.setBlock(x + 4, y + 1, z + 21, ModBlocks.steel_poles, 3, 3); + world.setBlock(x + 5, y + 1, z + 21, ModBlocks.steel_poles, 3, 3); + world.setBlock(x + 6, y + 1, z + 21, ModBlocks.red_barrel, 0, 3); + world.setBlock(x + 7, y + 1, z + 21, ModBlocks.tape_recorder, 4, 3); + world.setBlock(x + 8, y + 1, z + 21, ModBlocks.tape_recorder, 4, 3); + world.setBlock(x + 9, y + 1, z + 21, ModBlocks.tape_recorder, 4, 3); + world.setBlock(x + 10, y + 1, z + 21, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 1, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 1, z + 22, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 1, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 1, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 1, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 1, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 1, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 1, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 1, z + 22, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 1, z + 23, Blocks.air, 0, 3); + //world.setBlock(x + 2, y + 1, z + 23, Blocks.wooden_door, 8, 3); + world.setBlock(x + 3, y + 1, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 1, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 23, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 1, z + 23, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 1, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 1, z + 23, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 9, y + 1, z + 23, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 10, y + 1, z + 23, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 1, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 1, z + 24, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 1, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 1, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 1, z + 24, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 1, z + 24, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 1, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 1, z + 24, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 9, y + 1, z + 24, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 10, y + 1, z + 24, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 1, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 1, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 1, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 2, z + 0, Blocks.glass_pane, 0, 3); + world.setBlock(x + 3, y + 2, z + 0, Blocks.glass_pane, 0, 3); + world.setBlock(x + 4, y + 2, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 2, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 2, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 2, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 2, z + 0, Blocks.glass_pane, 0, 3); + world.setBlock(x + 9, y + 2, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 2, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 2, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 1, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 2, z + 1, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 2, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 2, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 1, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 2, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 2, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 2, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 2, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 2, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 2, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 2, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 2, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 2, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 2, z + 3, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 2, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 2, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 2, z + 3, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 2, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 3, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 2, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 4, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 2, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 2, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 4, Blocks.stone_stairs, 0, 3); + world.setBlock(x + 6, y + 2, z + 4, Blocks.stone_stairs, 5, 3); + world.setBlock(x + 7, y + 2, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 2, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 2, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 2, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 2, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 2, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 2, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 2, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 2, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 5, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 2, z + 5, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 2, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 6, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 2, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 6, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 2, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 6, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 2, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 7, Blocks.glass_pane, 0, 3); + world.setBlock(x + 1, y + 2, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 2, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 7, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 2, z + 8, ModBlocks.pole_satellite_receiver, 2, 3); + world.setBlock(x + 1, y + 2, z + 8, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 2, y + 2, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 2, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 8, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 2, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 8, Blocks.web, 0, 3); + world.setBlock(x + 7, y + 2, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 8, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 2, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 9, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 2, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 2, z + 9, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 2, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 2, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 2, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 2, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 2, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 2, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 2, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 11, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 2, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 2, z + 11, ModBlocks.steel_poles, 5, 3); + world.setBlock(x + 4, y + 2, z + 11, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 2, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 11, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 2, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 12, Blocks.glass_pane, 0, 3); + world.setBlock(x + 1, y + 2, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 2, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 2, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 2, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 2, z + 12, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 2, z + 13, Blocks.glass_pane, 0, 3); + world.setBlock(x + 1, y + 2, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 2, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 2, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 7, y + 2, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 13, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 2, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 2, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 14, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 2, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 2, z + 14, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 2, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 14, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 2, z + 14, Blocks.web, 0, 3); + world.setBlock(x + 7, y + 2, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 2, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 2, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 2, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 2, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 2, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 2, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 2, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 2, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 2, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 2, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 2, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 17, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 2, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 2, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 2, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 18, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 2, z + 18, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 2, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 19, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 2, z + 19, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 2, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 2, z + 19, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 2, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 2, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 2, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 2, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 2, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 2, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 2, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 2, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 2, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 2, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 2, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 21, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 2, z + 21, ModBlocks.steel_poles, 3, 3); + world.setBlock(x + 4, y + 2, z + 21, ModBlocks.steel_poles, 3, 3); + world.setBlock(x + 5, y + 2, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 21, Blocks.web, 0, 3); + world.setBlock(x + 7, y + 2, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 2, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 21, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 2, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 22, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 2, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 22, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 2, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 2, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 22, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 2, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 2, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 2, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 23, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 2, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 2, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 2, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 2, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 2, z + 23, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 2, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 23, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 2, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 2, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 24, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 2, z + 24, Blocks.web, 0, 3); + world.setBlock(x + 4, y + 2, z + 24, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 2, z + 24, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 2, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 2, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 2, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 2, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 2, z + 24, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 2, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 2, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 2, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 2, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 2, z + 25, Blocks.glass_pane, 0, 3); + world.setBlock(x + 5, y + 2, z + 25, Blocks.glass_pane, 0, 3); + world.setBlock(x + 6, y + 2, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 2, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 2, z + 25, Blocks.glass_pane, 0, 3); + world.setBlock(x + 9, y + 2, z + 25, Blocks.glass_pane, 0, 3); + world.setBlock(x + 10, y + 2, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 3, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 3, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 3, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 3, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 3, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 3, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 3, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 3, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 3, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 3, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 3, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 3, z + 4, Blocks.stone_stairs, 0, 3); + world.setBlock(x + 7, y + 3, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 3, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 3, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 3, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 3, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 3, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 3, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 3, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 3, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 3, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 3, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 3, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 3, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 3, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 3, z + 21, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 3, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 21, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 21, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 3, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 3, z + 22, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 3, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 22, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 22, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 3, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 3, z + 23, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 3, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 23, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 23, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 3, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 3, z + 24, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 3, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 3, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 3, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 3, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 3, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 3, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 3, z + 24, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 3, z + 24, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 3, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 3, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 3, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 3, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 3, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 3, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 3, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 3, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 3, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 3, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 3, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 4, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 4, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 4, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 4, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 4, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 4, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 4, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 4, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 4, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 1, Blocks.stone_stairs, 0, 3); + world.setBlock(x + 4, y + 4, z + 1, Blocks.stone_stairs, 5, 3); + world.setBlock(x + 5, y + 4, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 1, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 4, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 4, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 2, Blocks.web, 0, 3); + world.setBlock(x + 8, y + 4, z + 2, Blocks.oak_stairs, 7, 3); + world.setBlock(x + 9, y + 4, z + 2, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 4, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 4, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 3, Blocks.oak_stairs, 0, 3); + world.setBlock(x + 9, y + 4, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 4, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 4, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 4, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 4, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 4, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 4, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 4, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 4, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 4, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 4, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 6, ModBlocks.brick_concrete, 0, 3); + + generate_r02(world, rand, x, y, z); + return true; + + } + public boolean generate_r02(World world, Random rand, int x, int y, int z) + { + + world.setBlock(x + 4, y + 4, z + 6, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 4, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 6, Blocks.chest, 4, 3); + world.setBlockMetadataWithNotify(x + 7, y + 4, z + 6, 5, 3); + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(1), (TileEntityChest)world.getTileEntity(x + 7, y + 4, z + 6), 8); + world.setBlock(x + 8, y + 4, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 9, y + 4, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 10, y + 4, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 7, Blocks.iron_door, 0, 3); + ItemDoor.placeDoorBlock(world, x + 3, y + 4, z + 7, 0, Blocks.iron_door); + world.setBlock(x + 4, y + 4, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 7, ModBlocks.tape_recorder, 4, 3); + world.setBlock(x + 9, y + 4, z + 7, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 10, y + 4, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 4, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 8, Blocks.oak_stairs, 2, 3); + world.setBlock(x + 7, y + 4, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 8, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 9, y + 4, z + 8, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 10, y + 4, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 4, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 9, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 9, y + 4, z + 9, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 10, y + 4, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 4, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 4, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 4, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 4, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 4, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 4, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 4, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 4, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 4, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 12, Blocks.air, 0, 3); + //world.setBlock(x + 3, y + 4, z + 12, Blocks.air, 0, 3); + ItemDoor.placeDoorBlock(world, x + 3, y + 4, z + 12, 0, Blocks.iron_door); + world.setBlock(x + 4, y + 4, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 12, Blocks.oak_stairs, 3, 3); + world.setBlock(x + 9, y + 4, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 4, z + 13, Blocks.air, 0, 3); + //ItemDoor.placeDoorBlock(world, x + 4, y + 4, z + 13, 2, Blocks.iron_door); + world.setBlock(x + 5, y + 4, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 4, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 4, z + 14, Blocks.chest, 2, 3); + world.setBlockMetadataWithNotify(x + 4, y + 4, z + 14, 5, 3); + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(1), (TileEntityChest)world.getTileEntity(x + 4, y + 4, z + 14), 8); + world.setBlock(x + 5, y + 4, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 14, ModBlocks.tape_recorder, 4, 3); + world.setBlock(x + 7, y + 4, z + 14, Blocks.oak_stairs, 5, 3); + world.setBlock(x + 8, y + 4, z + 14, Blocks.oak_stairs, 4, 3); + world.setBlock(x + 9, y + 4, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 4, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 4, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 4, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 4, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 4, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 4, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 4, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 4, z + 16, Blocks.wooden_door, 5, 3); + ItemDoor.placeDoorBlock(world, x + 2, y + 4, z + 16, 5, Blocks.wooden_door); + world.setBlock(x + 3, y + 4, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 4, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 7, y + 4, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 4, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 4, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 17, Blocks.oak_stairs, 7, 3); + world.setBlock(x + 8, y + 4, z + 17, Blocks.oak_stairs, 7, 3); + world.setBlock(x + 9, y + 4, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 4, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 4, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 18, Blocks.oak_stairs, 6, 3); + world.setBlock(x + 8, y + 4, z + 18, Blocks.oak_stairs, 6, 3); + world.setBlock(x + 9, y + 4, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 19, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 4, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 4, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 4, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 4, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 4, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 4, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 4, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 4, z + 20, Blocks.iron_door, 3, 3); + ItemDoor.placeDoorBlock(world, x + 5, y + 4, z + 20, 3, Blocks.iron_door); + world.setBlock(x + 6, y + 4, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 4, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 4, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 4, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 4, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 4, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 21, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 4, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 4, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 4, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 21, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 4, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 22, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 4, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 4, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 4, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 22, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 4, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 23, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 4, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 4, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 4, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 4, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 23, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 4, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 24, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 4, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 4, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 4, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 4, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 4, z + 24, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 8, y + 4, z + 24, ModBlocks.tape_recorder, 2, 3); + world.setBlock(x + 9, y + 4, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 4, z + 24, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 4, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 4, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 4, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 4, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 4, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 4, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 4, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 4, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 4, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 4, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 4, z + 25, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 5, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 5, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 5, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 5, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 5, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 5, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 5, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 5, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 5, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 1, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 5, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 1, Blocks.stone_stairs, 0, 3); + world.setBlock(x + 5, y + 5, z + 1, Blocks.stone_stairs, 5, 3); + world.setBlock(x + 6, y + 5, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 1, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 5, z + 1, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 5, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 2, Blocks.flower_pot, 0, 3); + world.setBlock(x + 9, y + 5, z + 2, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 5, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 5, z + 3, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 5, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 5, z + 4, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 5, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 5, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 5, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 5, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 5, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 5, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 5, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 5, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 5, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 6, ModBlocks.tape_recorder, 4, 3); + world.setBlock(x + 9, y + 5, z + 6, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 10, y + 5, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 7, Blocks.air, 0, 3); + //world.setBlock(x + 3, y + 5, z + 7, Blocks.iron_door, 8, 3); + world.setBlock(x + 4, y + 5, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 7, ModBlocks.tape_recorder, 4, 3); + world.setBlock(x + 9, y + 5, z + 7, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 10, y + 5, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 5, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 8, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 9, y + 5, z + 8, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 10, y + 5, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 5, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 9, ModBlocks.tape_recorder, 4, 3); + world.setBlock(x + 9, y + 5, z + 9, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 10, y + 5, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 5, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 5, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 5, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 5, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 5, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 5, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 5, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 5, z + 11, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 5, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 5, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 12, Blocks.air, 0, 3); + //world.setBlock(x + 3, y + 5, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 5, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 5, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 5, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 5, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 14, Blocks.flower_pot, 0, 3); + world.setBlock(x + 8, y + 5, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 5, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 5, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 5, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 5, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 5, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 5, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 5, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 5, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 16, ModBlocks.brick_concrete, 0, 3); + //world.setBlock(x + 2, y + 5, z + 16, Blocks.wooden_door, 8, 3); + world.setBlock(x + 3, y + 5, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 5, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 5, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 17, Blocks.flower_pot, 0, 3); + world.setBlock(x + 8, y + 5, z + 17, Blocks.flower_pot, 0, 3); + world.setBlock(x + 9, y + 5, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 18, ModBlocks.tape_recorder, 4, 3); + world.setBlock(x + 9, y + 5, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 19, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 5, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 5, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 5, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 5, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 5, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 5, z + 20, ModBlocks.brick_concrete, 0, 3); + //world.setBlock(x + 5, y + 5, z + 20, Blocks.iron_door, 8, 3); + world.setBlock(x + 6, y + 5, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 5, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 5, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 5, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 5, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 5, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 5, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 5, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 5, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 5, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 5, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 5, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 5, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 5, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 5, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 5, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 5, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 24, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 8, y + 5, z + 24, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 9, y + 5, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 5, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 5, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 5, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 5, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 5, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 5, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 5, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 5, z + 25, ModBlocks.pole_satellite_receiver, 4, 3); + world.setBlock(x + 8, y + 5, z + 25, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 9, y + 5, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 5, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 6, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 6, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 6, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 6, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 6, z + 0, Blocks.glass_pane, 0, 3); + world.setBlock(x + 8, y + 6, z + 0, Blocks.glass_pane, 0, 3); + world.setBlock(x + 9, y + 6, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 6, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 1, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 6, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 1, Blocks.stone_stairs, 0, 3); + world.setBlock(x + 6, y + 6, z + 1, Blocks.stone_stairs, 5, 3); + world.setBlock(x + 7, y + 6, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 1, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 6, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 6, z + 2, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 6, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 2, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 6, z + 3, Blocks.glass_pane, 0, 3); + world.setBlock(x + 1, y + 6, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 3, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 6, z + 3, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 6, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 4, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 6, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 5, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 6, z + 5, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 6, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 6, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 6, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 6, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 6, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 6, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 6, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 6, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 6, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 6, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 6, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 6, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 6, z + 6, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 6, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 7, Blocks.glass_pane, 0, 3); + world.setBlock(x + 1, y + 6, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 6, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 7, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 6, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 6, z + 8, Blocks.glass_pane, 0, 3); + world.setBlock(x + 1, y + 6, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 6, z + 8, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 6, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 8, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 6, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 6, z + 9, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 6, z + 9, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 6, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 10, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 6, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 6, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 6, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 6, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 6, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 6, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 6, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 6, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 11, Blocks.web, 0, 3); + world.setBlock(x + 3, y + 6, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 6, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 11, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 6, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 11, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 6, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 12, Blocks.glass_pane, 0, 3); + world.setBlock(x + 1, y + 6, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 6, z + 12, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 6, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 12, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 6, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 6, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 6, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 13, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 6, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 6, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 14, Blocks.web, 0, 3); + world.setBlock(x + 6, y + 6, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 15, Blocks.web, 0, 3); + world.setBlock(x + 2, y + 6, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 6, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 6, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 6, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 6, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 6, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 6, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 6, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 6, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 6, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 6, z + 16, Blocks.web, 0, 3); + world.setBlock(x + 5, y + 6, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 17, Blocks.glass_pane, 0, 3); + world.setBlock(x + 1, y + 6, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 17, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 6, z + 18, Blocks.glass_pane, 0, 3); + world.setBlock(x + 1, y + 6, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 18, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 6, z + 18, Blocks.glass_pane, 0, 3); + world.setBlock(x + 0, y + 6, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 19, Blocks.web, 0, 3); + world.setBlock(x + 9, y + 6, z + 19, Blocks.web, 0, 3); + world.setBlock(x + 10, y + 6, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 6, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 6, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 6, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 6, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 6, z + 20, Blocks.glass_pane, 0, 3); + world.setBlock(x + 8, y + 6, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 6, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 6, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 6, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 6, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 6, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 6, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 6, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 6, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 6, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 6, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 6, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 6, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 6, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 6, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 6, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 6, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 6, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 6, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 6, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 6, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 7, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 7, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 7, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 7, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 7, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 7, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 7, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 7, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 7, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 7, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 7, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 7, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 7, z + 1, Blocks.stone_stairs, 0, 3); + world.setBlock(x + 7, y + 7, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 1, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 2, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 3, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 4, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 5, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 6, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 7, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 8, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 9, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 10, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 11, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 12, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 13, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 14, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 15, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 16, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 17, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 18, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 2, y + 7, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 3, y + 7, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 4, y + 7, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 5, y + 7, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 6, y + 7, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 7, y + 7, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 8, y + 7, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 9, y + 7, z + 19, ModBlocks.brick_light, 0, 3); + world.setBlock(x + 10, y + 7, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 7, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 7, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 7, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 7, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 7, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 7, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 7, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 7, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 7, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 7, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 7, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 7, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 7, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 7, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 7, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 7, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 7, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 7, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 7, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 7, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 7, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 7, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 7, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 7, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 7, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 7, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 7, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 7, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 7, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 7, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 7, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 7, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 7, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 7, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 7, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 7, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 7, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 7, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 7, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 7, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 7, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 7, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 7, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 7, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 7, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 7, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 7, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 7, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 7, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 7, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 7, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 7, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 7, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 7, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 7, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 7, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 7, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 7, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 7, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 7, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 7, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 7, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 7, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 7, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 7, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 8, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 8, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 8, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 8, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 8, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 8, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 8, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 8, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 8, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 8, z + 0, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 1, Blocks.trapdoor, 1, 3); + world.setBlock(x + 5, y + 8, z + 1, Blocks.trapdoor, 1, 3); + world.setBlock(x + 6, y + 8, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 1, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 2, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 3, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 4, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 5, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 6, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 7, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 8, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 7, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 8, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 8, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 8, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 9, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 5, y + 8, z + 9, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 8, z + 9, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 8, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 9, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 10, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 5, y + 8, z + 10, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 8, z + 10, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 8, z + 10, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 8, y + 8, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 10, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 11, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 5, y + 8, z + 11, Blocks.chest, 4, 3); + world.setBlockMetadataWithNotify(x + 5, y + 8, z + 11, 5, 3); + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityChest)world.getTileEntity(x + 5, y + 8, z + 11), 16); + world.setBlock(x + 6, y + 8, z + 11, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 8, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 11, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 12, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 5, y + 8, z + 12, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 8, z + 12, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 8, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 12, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 13, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 5, y + 8, z + 13, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 8, z + 13, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 8, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 13, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 14, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 5, y + 8, z + 14, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 8, z + 14, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 8, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 14, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 15, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 8, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 15, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 16, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 17, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 18, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 19, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 1, y + 8, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 2, y + 8, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 3, y + 8, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 4, y + 8, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 5, y + 8, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 6, y + 8, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 7, y + 8, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 8, y + 8, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 9, y + 8, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 10, y + 8, z + 20, ModBlocks.brick_concrete, 0, 3); + world.setBlock(x + 0, y + 8, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 8, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 8, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 8, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 8, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 8, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 8, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 8, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 8, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 8, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 8, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 8, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 8, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 8, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 8, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 8, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 8, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 8, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 8, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 9, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 9, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 10, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 9, z + 10, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 7, y + 9, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 11, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 9, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 12, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 9, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 12, Blocks.air, 0, 3); + + generate_r03(world, rand, x, y, z); + return true; + + } + public boolean generate_r03(World world, Random rand, int x, int y, int z) + { + + world.setBlock(x + 8, y + 9, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 13, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 9, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 14, ModBlocks.block_steel, 0, 3); + world.setBlock(x + 6, y + 9, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 9, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 9, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 9, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 9, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 9, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 9, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 9, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 9, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 9, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 9, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 9, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 10, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 6, y + 10, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 13, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 6, y + 10, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 10, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 10, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 10, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 10, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 10, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 10, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 10, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 10, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 10, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 10, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 10, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 10, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 6, y + 11, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 13, ModBlocks.pole_satellite_receiver, 4, 3); + world.setBlock(x + 6, y + 11, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 11, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 11, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 11, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 11, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 11, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 11, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 11, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 11, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 11, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 11, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 11, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 10, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 6, y + 12, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 13, ModBlocks.pole_top, 4, 3); + world.setBlock(x + 6, y + 12, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 12, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 12, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 12, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 12, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 12, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 12, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 12, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 12, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 12, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 12, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 12, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 10, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 6, y + 13, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 13, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 13, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 13, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 13, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 13, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 13, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 13, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 13, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 13, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 13, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 13, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 10, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 6, y + 14, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 19, Blocks.air, 0, 3); + + generate_r04(world, rand, x, y, z); + return true; + + } + public boolean generate_r04(World world, Random rand, int x, int y, int z) + { + + world.setBlock(x + 1, y + 14, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 14, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 14, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 14, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 14, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 14, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 14, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 14, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 14, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 14, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 14, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 14, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 10, ModBlocks.pole_satellite_receiver, 5, 3); + world.setBlock(x + 6, y + 15, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 15, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 15, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 15, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 15, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 15, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 15, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 15, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 15, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 15, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 15, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 15, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 10, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 6, y + 16, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 12, Blocks.air, 0, 3); + + new Radio02().generate_r00(world, rand, x, y, z); + return true; + + } +} \ No newline at end of file diff --git a/com/hbm/world/Radio02.java b/com/hbm/world/Radio02.java new file mode 100644 index 000000000..33d354c80 --- /dev/null +++ b/com/hbm/world/Radio02.java @@ -0,0 +1,2182 @@ +//Schematic to java Structure by jajo_11 | inspired by "MITHION'S.SCHEMATIC TO JAVA CONVERTINGTOOL" + +package com.hbm.world; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.main.MainRegistry; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class Radio02 +{ + public boolean generate_r00(World world, Random rand, int x, int y, int z) + { + world.setBlock(x + 6, y + 16, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 16, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 16, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 16, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 16, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 16, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 16, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 16, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 16, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 16, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 16, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 16, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 10, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 6, y + 17, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 17, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 17, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 17, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 17, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 17, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 17, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 17, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 17, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 17, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 17, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 17, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 10, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 6, y + 18, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 18, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 18, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 18, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 18, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 18, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 18, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 18, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 18, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 18, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 18, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 18, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 10, ModBlocks.pole_satellite_receiver, 2, 3); + world.setBlock(x + 6, y + 19, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 19, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 19, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 19, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 19, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 19, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 19, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 19, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 19, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 19, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 19, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 19, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 10, ModBlocks.pole_satellite_receiver, 4, 3); + world.setBlock(x + 6, y + 20, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 20, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 20, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 20, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 20, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 20, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 20, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 20, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 20, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 20, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 20, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 20, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 10, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 6, y + 21, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 18, Blocks.air, 0, 3); + + generate_r01(world, rand, x, y, z); + return true; + + } + public boolean generate_r01(World world, Random rand, int x, int y, int z) + { + + world.setBlock(x + 10, y + 21, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 21, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 21, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 21, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 21, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 21, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 21, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 21, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 21, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 21, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 21, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 21, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 10, ModBlocks.steel_poles, 4, 3); + world.setBlock(x + 6, y + 22, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 22, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 22, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 22, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 22, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 22, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 22, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 22, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 22, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 22, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 22, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 22, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 0, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 1, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 3, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 4, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 5, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 6, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 7, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 8, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 9, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 10, ModBlocks.pole_top, 4, 3); + world.setBlock(x + 6, y + 23, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 10, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 11, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 12, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 13, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 14, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 15, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 16, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 17, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 18, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 19, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 20, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 21, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 22, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 23, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 24, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 23, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 1, y + 23, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 2, y + 23, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 3, y + 23, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 4, y + 23, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 5, y + 23, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 6, y + 23, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 7, y + 23, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 8, y + 23, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 9, y + 23, z + 25, Blocks.air, 0, 3); + world.setBlock(x + 10, y + 23, z + 25, Blocks.air, 0, 3); + if(MainRegistry.enableDebugMode) + System.out.print("[Debug] Successfully spawned abandoned Radio station at " + x + " " + y +" " + z + "\n"); + return true; + + } + +} \ No newline at end of file diff --git a/com/hbm/world/Vertibird.java b/com/hbm/world/Vertibird.java new file mode 100644 index 000000000..e9befc20b --- /dev/null +++ b/com/hbm/world/Vertibird.java @@ -0,0 +1,513 @@ +//Schematic to java Structure by jajo_11 | inspired by "MITHION'S .SCHEMATIC TO JAVA CONVERTINGTOOL" + +package com.hbm.world; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.HbmChestContents; +import com.hbm.main.MainRegistry; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +public class Vertibird extends WorldGenerator +{ + Block Block2 = ModBlocks.block_steel; + Block Block1 = ModBlocks.block_tungsten; + Block Block4 = ModBlocks.reinforced_glass; + Block Block3 = ModBlocks.block_titanium; + + protected Block[] GetValidSpawnBlocks() + { + return new Block[] + { + Blocks.sand, + Blocks.sandstone, + }; + } + + public boolean LocationIsValidSpawn(World world, int x, int y, int z) + { + + Block checkBlock = world.getBlock(x, y - 1, z); + Block blockAbove = world.getBlock(x, y , z); + Block blockBelow = world.getBlock(x, y - 2, z); + + for (Block i : GetValidSpawnBlocks()) + { + if (blockAbove != Blocks.air) + { + return false; + } + if (checkBlock == i) + { + return true; + } + else if (checkBlock == Blocks.snow_layer && blockBelow == i) + { + return true; + } + else if (checkBlock.getMaterial() == Material.plants && blockBelow == i) + { + return true; + } + } + return false; + } + + public boolean generate(World world, Random rand, int x, int y, int z) + { + int i = rand.nextInt(1); + + if(i == 0) + { + generate_r0(world, rand, x, y, z); + } + + return true; + + } + + public boolean generate_r0(World world, Random rand, int x, int y, int z) + { + int yOffset = 3 + rand.nextInt(4); + + if(!LocationIsValidSpawn(world, x + 13, y, z + 10)) + { + return false; + } + + world.setBlock(x + 13, y + 0 - yOffset, z + 2, Block1, 0, 3); + world.setBlock(x + 12, y + 0 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 14, y + 0 - yOffset, z + 7, Block1, 0, 3); + world.setBlock(x + 13, y + 0 - yOffset, z + 9, Block1, 0, 3); + world.setBlock(x + 12, y + 1 - yOffset, z + 1, Block2, 0, 3); + world.setBlock(x + 13, y + 1 - yOffset, z + 1, Block2, 0, 3); + world.setBlock(x + 14, y + 1 - yOffset, z + 1, Block2, 0, 3); + world.setBlock(x + 12, y + 1 - yOffset, z + 2, Block2, 0, 3); + world.setBlock(x + 13, y + 1 - yOffset, z + 2, Block2, 0, 3); + world.setBlock(x + 14, y + 1 - yOffset, z + 2, Block2, 0, 3); + world.setBlock(x + 11, y + 1 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 12, y + 1 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 13, y + 1 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 14, y + 1 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 15, y + 1 - yOffset, z + 3, Block1, 0, 3); + world.setBlock(x + 11, y + 1 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 12, y + 1 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 13, y + 1 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 14, y + 1 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 15, y + 1 - yOffset, z + 4, Block1, 0, 3); + world.setBlock(x + 11, y + 1 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 12, y + 1 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 13, y + 1 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 14, y + 1 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 15, y + 1 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 12, y + 1 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 13, y + 1 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 14, y + 1 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 12, y + 1 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 13, y + 1 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 14, y + 1 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 12, y + 1 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 13, y + 1 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 14, y + 1 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 12, y + 1 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 13, y + 1 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 14, y + 1 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 12, y + 2 - yOffset, z + 0, Block2, 0, 3); + world.setBlock(x + 13, y + 2 - yOffset, z + 0, Block2, 0, 3); + world.setBlock(x + 14, y + 2 - yOffset, z + 0, Block2, 0, 3); + world.setBlock(x + 11, y + 2 - yOffset, z + 1, Block2, 0, 3); + world.setBlock(x + 15, y + 2 - yOffset, z + 1, Block2, 0, 3); + world.setBlock(x + 11, y + 2 - yOffset, z + 2, Block2, 0, 3); + world.setBlock(x + 12, y + 2 - yOffset, z + 2, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 14, y + 2 - yOffset, z + 2, Blocks.stone_stairs, 2, 3); + world.setBlock(x + 15, y + 2 - yOffset, z + 2, Block2, 0, 3); + world.setBlock(x + 15, y + 2 - yOffset, z + 3, Block3, 0, 3); + world.setBlock(x + 15, y + 2 - yOffset, z + 4, Block3, 0, 3); + world.setBlock(x + 10, y + 2 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 15, y + 2 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 10, y + 2 - yOffset, z + 6, Block3, 0, 3); + world.setBlock(x + 11, y + 2 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 15, y + 2 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 10, y + 2 - yOffset, z + 7, Block3, 0, 3); + world.setBlock(x + 11, y + 2 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 14, y + 2 - yOffset, z + 7, Blocks.chest, 2, 3); + if(world.getBlock(x + 14, y + 2 - yOffset, z + 7) == Blocks.chest) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(6), (TileEntityChest)world.getTileEntity(x + 14, y + 2 - yOffset, z + 7), 8); + } + world.setBlock(x + 15, y + 2 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 12, y + 2 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 13, y + 2 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 14, y + 2 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 12, y + 2 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 13, y + 2 - yOffset, z + 9, Block3, 0, 3); + world.setBlock(x + 14, y + 2 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 12, y + 2 - yOffset, z + 10, Block2, 0, 3); + world.setBlock(x + 13, y + 2 - yOffset, z + 10, Block2, 0, 3); + world.setBlock(x + 14, y + 2 - yOffset, z + 10, Block2, 0, 3); + world.setBlock(x + 12, y + 2 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 13, y + 2 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 14, y + 2 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 13, y + 2 - yOffset, z + 18, Block2, 0, 3); + world.setBlock(x + 12, y + 3 - yOffset, z + 0, Block4, 0, 3); + world.setBlock(x + 13, y + 3 - yOffset, z + 0, Block4, 0, 3); + world.setBlock(x + 14, y + 3 - yOffset, z + 0, Block4, 0, 3); + world.setBlock(x + 11, y + 3 - yOffset, z + 1, Block4, 0, 3); + world.setBlock(x + 15, y + 3 - yOffset, z + 1, Block4, 0, 3); + world.setBlock(x + 11, y + 3 - yOffset, z + 2, Block2, 0, 3); + world.setBlock(x + 15, y + 3 - yOffset, z + 2, Block2, 0, 3); + world.setBlock(x + 11, y + 3 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 15, y + 3 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 15, y + 3 - yOffset, z + 4, Block3, 0, 3); + world.setBlock(x + 15, y + 3 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 10, y + 3 - yOffset, z + 6, Block3, 0, 3); + world.setBlock(x + 11, y + 3 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 15, y + 3 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 10, y + 3 - yOffset, z + 7, Block3, 0, 3); + world.setBlock(x + 11, y + 3 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 15, y + 3 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 12, y + 3 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 13, y + 3 - yOffset, z + 8, ModBlocks.machine_battery, 2, 3); + world.setBlock(x + 14, y + 3 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 12, y + 3 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 13, y + 3 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 3 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 12, y + 3 - yOffset, z + 10, Block2, 0, 3); + world.setBlock(x + 13, y + 3 - yOffset, z + 10, Block3, 0, 3); + world.setBlock(x + 14, y + 3 - yOffset, z + 10, Block2, 0, 3); + world.setBlock(x + 12, y + 3 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 13, y + 3 - yOffset, z + 11, Block3, 0, 3); + world.setBlock(x + 14, y + 3 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 12, y + 3 - yOffset, z + 12, Block2, 0, 3); + world.setBlock(x + 13, y + 3 - yOffset, z + 12, Block2, 0, 3); + world.setBlock(x + 14, y + 3 - yOffset, z + 12, Block2, 0, 3); + world.setBlock(x + 13, y + 3 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 13, y + 3 - yOffset, z + 18, Block2, 0, 3); + world.setBlock(x + 12, y + 4 - yOffset, z + 0, Block2, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 0, Block2, 0, 3); + world.setBlock(x + 14, y + 4 - yOffset, z + 0, Block2, 0, 3); + world.setBlock(x + 11, y + 4 - yOffset, z + 1, Block4, 0, 3); + world.setBlock(x + 12, y + 4 - yOffset, z + 1, Block2, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 1, Block2, 0, 3); + world.setBlock(x + 14, y + 4 - yOffset, z + 1, Block2, 0, 3); + world.setBlock(x + 15, y + 4 - yOffset, z + 1, Block4, 0, 3); + world.setBlock(x + 11, y + 4 - yOffset, z + 2, Block4, 0, 3); + world.setBlock(x + 15, y + 4 - yOffset, z + 2, Block4, 0, 3); + world.setBlock(x + 11, y + 4 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 15, y + 4 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 11, y + 4 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 15, y + 4 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 4, y + 4 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 11, y + 4 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 15, y + 4 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 22, y + 4 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 11, y + 4 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 12, y + 4 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 14, y + 4 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 15, y + 4 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 11, y + 4 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 12, y + 4 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 14, y + 4 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 15, y + 4 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 11, y + 4 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 12, y + 4 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 14, y + 4 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 15, y + 4 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 11, y + 4 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 12, y + 4 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 4 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 15, y + 4 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 11, y + 4 - yOffset, z + 10, Block2, 0, 3); + world.setBlock(x + 12, y + 4 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 10, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 4 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 15, y + 4 - yOffset, z + 10, Block2, 0, 3); + world.setBlock(x + 11, y + 4 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 12, y + 4 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 11, Block3, 0, 3); + world.setBlock(x + 14, y + 4 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 15, y + 4 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 11, y + 4 - yOffset, z + 12, Block2, 0, 3); + world.setBlock(x + 12, y + 4 - yOffset, z + 12, Block2, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 12, Block3, 0, 3); + world.setBlock(x + 14, y + 4 - yOffset, z + 12, Block2, 0, 3); + world.setBlock(x + 15, y + 4 - yOffset, z + 12, Block2, 0, 3); + world.setBlock(x + 12, y + 4 - yOffset, z + 13, Block2, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 13, Block2, 0, 3); + world.setBlock(x + 14, y + 4 - yOffset, z + 13, Block2, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 14, Block2, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 15, Block2, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 16, Block2, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 13, y + 4 - yOffset, z + 18, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 1, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 1, Block2, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 1, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 2, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 2, Block2, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 2, Block2, 0, 3); + world.setBlock(x + 11, y + 5 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 15, y + 5 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 4, y + 5 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 11, y + 5 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 15, y + 5 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 22, y + 5 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 3, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 4, y + 5 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 5, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 8, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 9, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 10, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 11, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 15, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 16, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 17, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 18, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 21, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 22, y + 5 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 23, y + 5 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 4, y + 5 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 11, y + 5 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 15, y + 5 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 22, y + 5 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 11, y + 5 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 15, y + 5 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 11, y + 5 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 15, y + 5 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 11, y + 5 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 15, y + 5 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 11, y + 5 - yOffset, z + 10, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 10, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 15, y + 5 - yOffset, z + 10, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 11, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 12, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 12, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 12, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 13, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 13, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 13, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 14, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 14, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 14, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 15, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 15, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 15, Block2, 0, 3); + world.setBlock(x + 9, y + 5 - yOffset, z + 16, Block2, 0, 3); + world.setBlock(x + 10, y + 5 - yOffset, z + 16, Block2, 0, 3); + world.setBlock(x + 11, y + 5 - yOffset, z + 16, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 16, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 16, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 16, Block2, 0, 3); + world.setBlock(x + 15, y + 5 - yOffset, z + 16, Block2, 0, 3); + world.setBlock(x + 16, y + 5 - yOffset, z + 16, Block2, 0, 3); + world.setBlock(x + 17, y + 5 - yOffset, z + 16, Block2, 0, 3); + world.setBlock(x + 8, y + 5 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 9, y + 5 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 10, y + 5 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 11, y + 5 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 17, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 15, y + 5 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 16, y + 5 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 17, y + 5 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 18, y + 5 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 18, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 18, ModBlocks.red_wire_coated, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 18, Block2, 0, 3); + world.setBlock(x + 13, y + 5 - yOffset, z + 19, Block1, 0, 3); + world.setBlock(x + 12, y + 6 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 14, y + 6 - yOffset, z + 1, Block1, 0, 3); + world.setBlock(x + 12, y + 6 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 14, y + 6 - yOffset, z + 3, Block2, 0, 3); + world.setBlock(x + 4, y + 6 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 11, y + 6 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 12, y + 6 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 14, y + 6 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 15, y + 6 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 22, y + 6 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 3, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 4, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 5, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 6, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 7, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 8, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 9, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 10, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 11, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 12, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 14, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 15, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 16, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 17, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 18, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 19, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 20, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 21, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 22, y + 6 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 23, y + 6 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 4, y + 6 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 11, y + 6 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 12, y + 6 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 6, Blocks.chest, 2, 3); + if(world.getBlock(x + 13, y + 6 - yOffset, z + 6) == Blocks.chest) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityChest)world.getTileEntity(x + 13, y + 6 - yOffset, z + 6), 8); + } + world.setBlock(x + 14, y + 6 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 15, y + 6 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 22, y + 6 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 11, y + 6 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 12, y + 6 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 14, y + 6 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 15, y + 6 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 11, y + 6 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 12, y + 6 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 14, y + 6 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 15, y + 6 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 12, y + 6 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 9, Block3, 0, 3); + world.setBlock(x + 14, y + 6 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 12, y + 6 - yOffset, z + 10, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 10, Block3, 0, 3); + world.setBlock(x + 14, y + 6 - yOffset, z + 10, Block2, 0, 3); + world.setBlock(x + 12, y + 6 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 14, y + 6 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 12, y + 6 - yOffset, z + 12, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 12, Block2, 0, 3); + world.setBlock(x + 14, y + 6 - yOffset, z + 12, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 13, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 14, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 17, Block2, 0, 3); + world.setBlock(x + 13, y + 6 - yOffset, z + 18, Block2, 0, 3); + world.setBlock(x + 4, y + 7 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 13, y + 7 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 22, y + 7 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 3, y + 7 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 4, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 5, y + 7 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 12, y + 7 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 13, y + 7 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 14, y + 7 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 21, y + 7 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 22, y + 7 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 23, y + 7 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 4, y + 7 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 12, y + 7 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 13, y + 7 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 14, y + 7 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 22, y + 7 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 12, y + 7 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 13, y + 7 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 14, y + 7 - yOffset, z + 7, Block2, 0, 3); + world.setBlock(x + 12, y + 7 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 13, y + 7 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 14, y + 7 - yOffset, z + 8, Block2, 0, 3); + world.setBlock(x + 13, y + 7 - yOffset, z + 9, Block2, 0, 3); + world.setBlock(x + 13, y + 7 - yOffset, z + 10, Block2, 0, 3); + world.setBlock(x + 13, y + 7 - yOffset, z + 11, Block2, 0, 3); + world.setBlock(x + 4, y + 8 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 22, y + 8 - yOffset, z + 4, Block2, 0, 3); + world.setBlock(x + 3, y + 8 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 4, y + 8 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 5, y + 8 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 21, y + 8 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 22, y + 8 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 23, y + 8 - yOffset, z + 5, Block2, 0, 3); + world.setBlock(x + 4, y + 8 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 22, y + 8 - yOffset, z + 6, Block2, 0, 3); + world.setBlock(x + 4, y + 9 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 22, y + 9 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 1, Block3, 0, 3); + world.setBlock(x + 22, y + 10 - yOffset, z + 1, Block3, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 2, Block3, 0, 3); + world.setBlock(x + 22, y + 10 - yOffset, z + 2, Block3, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 3, Block3, 0, 3); + world.setBlock(x + 22, y + 10 - yOffset, z + 3, Block3, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 4, Block3, 0, 3); + world.setBlock(x + 22, y + 10 - yOffset, z + 4, Block3, 0, 3); + world.setBlock(x + 0, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 1, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 2, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 3, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 5, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 6, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 7, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 8, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 18, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 19, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 20, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 21, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 22, y + 10 - yOffset, z + 5, Block1, 0, 3); + world.setBlock(x + 23, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 24, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 25, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 26, y + 10 - yOffset, z + 5, Block3, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 6, Block3, 0, 3); + world.setBlock(x + 22, y + 10 - yOffset, z + 6, Block3, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 7, Block3, 0, 3); + world.setBlock(x + 22, y + 10 - yOffset, z + 7, Block3, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 8, Block3, 0, 3); + world.setBlock(x + 22, y + 10 - yOffset, z + 8, Block3, 0, 3); + world.setBlock(x + 4, y + 10 - yOffset, z + 9, Block3, 0, 3); + world.setBlock(x + 22, y + 10 - yOffset, z + 9, Block3, 0, 3); + + generate_r02_last(world, rand, x, y, z, yOffset); + return true; + + } + public boolean generate_r02_last(World world, Random rand, int x, int y, int z, int yOffset) + { + + world.setBlock(x + 12, y + 2 - yOffset, z + 1, Blocks.lever, 3, 3); + world.setBlock(x + 14, y + 2 - yOffset, z + 1, Blocks.lever, 3, 3); + if(MainRegistry.enableDebugMode) + System.out.print("[Debug] Successfully spawned Vertibird at " + x + " " + y +" " + z + "\n"); + return true; + + } + +} \ No newline at end of file