From 30a5c3eb1a26b7de6fbe877b36b2d7330c2f4baf Mon Sep 17 00:00:00 2001 From: HbmMods Date: Sun, 24 May 2020 15:23:11 +0200 Subject: [PATCH] updated textures, item abilities, code cleanup --- assets/hbm/lang/de_DE.lang | 33 +- assets/hbm/lang/en_US.lang | 33 +- assets/hbm/models/weapons/flamer.obj | 1755 +++++++++++++++++ assets/hbm/sounds.json | 1 + assets/hbm/sounds/weapon/flamerReload.ogg | Bin 0 -> 20694 bytes assets/hbm/textures/blocks/block_mox_fuel.png | Bin 0 -> 626 bytes .../textures/blocks/block_red_phosphorus.png | Bin 0 -> 642 bytes assets/hbm/textures/blocks/block_sulfur.png | Bin 622 -> 577 bytes .../blocks/block_white_phosphorus.png | Bin 0 -> 562 bytes assets/hbm/textures/blocks/mercury.png | Bin 0 -> 10289 bytes .../blocks/particle/particle_base.png | Bin 0 -> 128 bytes assets/hbm/textures/gui/fluids2.png | Bin 9524 -> 12637 bytes .../hbm/textures/gui/storage/gui_battery.png | Bin 2496 -> 2664 bytes .../textures/gui/{ => weapon}/bombGeneric.png | Bin .../gui/{ => weapon}/bombGenericLarge.png | Bin .../gui/{ => weapon}/celprime_cmd.png | Bin .../gui/{ => weapon}/celprime_cmd_alt.png | Bin .../celprime_cmd_alt_thirdslot.png | Bin .../{ => weapon}/celprime_cmd_thirdslot.png | Bin .../gui/{ => weapon}/fatManSchematic.png | Bin .../gui/{ => weapon}/fleijaSchematic.png | Bin .../gui/{ => weapon}/gadgetSchematic.png | Bin .../gui/{ => weapon}/gui_launch_pad.png | Bin .../gui/{ => weapon}/gui_launch_table.png | Bin .../{ => weapon}/gui_launch_table_small.png | Bin .../hbm/textures/gui/{ => weapon}/gui_n45.png | Bin .../gui/{ => weapon}/gui_prototype.png | Bin assets/hbm/textures/gui/weapon/gui_turret.png | Bin 0 -> 2081 bytes .../gui/{ => weapon}/gunBombSchematic.png | Bin .../{ => weapon}/gunBombSchematicSmall.png | Bin .../gui/{ => weapon}/ivyMikeSchematic.png | Bin .../gui/{ => weapon}/lilBoySchematic.png | Bin .../textures/gui/{ => weapon}/n2Schematic.png | Bin .../gui/{ => weapon}/soliniumSchematic.png | Bin .../gui/{ => weapon}/tsarBombaSchematic.png | Bin assets/hbm/textures/items/ammo_357_ender.png | Bin 0 -> 316 bytes assets/hbm/textures/items/ammo_fuel.png | Bin 0 -> 302 bytes assets/hbm/textures/items/ammo_fuel_gas.png | Bin 0 -> 281 bytes .../hbm/textures/items/ammo_fuel_napalm.png | Bin 0 -> 296 bytes .../textures/items/ammo_fuel_phosphorus.png | Bin 0 -> 413 bytes .../hbm/textures/items/chem_icon_SATURN.png | Bin 0 -> 263 bytes assets/hbm/textures/items/fluid_icon.png | Bin 221 -> 288 bytes assets/hbm/textures/items/ingot_neptunium.png | Bin 331 -> 395 bytes assets/hbm/textures/items/jetpack_tank.png | Bin 219 -> 266 bytes assets/hbm/textures/items/neptunium_ingot.png | Bin 395 -> 0 bytes .../items/new_magnetized_tungsten.png | Bin 507 -> 0 bytes assets/hbm/textures/items/new_titanium.png | Bin 379 -> 0 bytes assets/hbm/textures/items/new_tungsten.png | Bin 356 -> 0 bytes .../textures/items/powder_red_phosphorus.png | Bin 0 -> 611 bytes assets/hbm/textures/items/sulfur.png | Bin 280 -> 378 bytes assets/hbm/textures/models/weapons/flamer.png | Bin 0 -> 4712 bytes .../hbm/textures/models/weapons/hk69_base.png | Bin 675 -> 0 bytes com/hbm/blocks/BlockDummyable.java | 246 +++ com/hbm/blocks/ModBlocks.java | 50 +- com/hbm/blocks/fluid/MudBlock.java | 17 +- com/hbm/blocks/generic/BarbedWire.java | 10 +- com/hbm/blocks/generic/BlockClorine.java | 7 +- .../blocks/generic/BlockGenericPillar.java | 44 - com/hbm/blocks/generic/BlockOre.java | 2 +- .../blocks/generic/BlockRotatablePillar.java | 34 + com/hbm/blocks/machine/BlockPillar.java | 88 + com/hbm/blocks/machine/BlockReactor.java | 146 -- .../calc/UnionOfTileEntitiesAndBooleans.java | 2 + com/hbm/entity/missile/EntityCarrier.java | 2 +- com/hbm/entity/missile/EntitySoyuz.java | 2 +- com/hbm/entity/projectile/EntityBullet.java | 4 +- .../entity/projectile/EntityBulletBase.java | 24 +- com/hbm/explosion/ExplosionChaos.java | 24 +- com/hbm/explosion/ExplosionNukeGeneric.java | 7 +- com/hbm/explosion/ExplosionThermo.java | 5 +- com/hbm/handler/ArmorUtil.java | 222 +++ com/hbm/handler/BobmazonOfferFactory.java | 2 +- com/hbm/handler/BulletConfigSyncingUtil.java | 10 + com/hbm/handler/BulletConfiguration.java | 3 + com/hbm/handler/FluidTypeHandler.java | 4 +- com/hbm/handler/MultiblockHandlerXR.java | 147 ++ com/hbm/handler/ThreeInts.java | 48 + com/hbm/handler/ToolAbility.java | 228 +++ .../handler/guncfg/BulletConfigFactory.java | 53 +- com/hbm/handler/guncfg/GunEnergyFactory.java | 140 ++ com/hbm/handler/guncfg/GunGrenadeFactory.java | 2 +- com/hbm/handler/guncfg/GunRocketFactory.java | 2 +- com/hbm/handler/nei/ModInfoHandler.java | 105 - com/hbm/interfaces/Spaghetti.java | 2 +- com/hbm/inventory/FluidContainerRegistry.java | 16 +- com/hbm/inventory/FluidTank.java | 10 +- com/hbm/inventory/MachineRecipes.java | 281 +-- .../container/ContainerMachineBattery.java | 4 +- com/hbm/inventory/gui/GUIBombMulti.java | 2 +- com/hbm/inventory/gui/GUICelPrime.java | 2 +- com/hbm/inventory/gui/GUILaunchPadTier1.java | 2 +- com/hbm/inventory/gui/GUIMachineBattery.java | 45 +- .../gui/GUIMachineCompactLauncher.java | 2 +- .../inventory/gui/GUIMachineLaunchTable.java | 2 +- com/hbm/inventory/gui/GUIMachineSiren.java | 2 +- com/hbm/inventory/gui/GUINukeBoy.java | 2 +- com/hbm/inventory/gui/GUINukeCustom.java | 2 +- com/hbm/inventory/gui/GUINukeFleija.java | 2 +- com/hbm/inventory/gui/GUINukeGadget.java | 2 +- com/hbm/inventory/gui/GUINukeMike.java | 2 +- com/hbm/inventory/gui/GUINukeN2.java | 2 +- com/hbm/inventory/gui/GUINukeN45.java | 2 +- com/hbm/inventory/gui/GUINukePrototype.java | 2 +- com/hbm/inventory/gui/GUINukeSolinium.java | 2 +- com/hbm/inventory/gui/GUINukeTsar.java | 2 +- .../gui/GUIScreenTemplateFolder.java | 10 +- com/hbm/inventory/gui/GUITestNuke.java | 2 +- com/hbm/items/ModItems.java | 164 +- .../items/{gear => armor}/ArmorAsbestos.java | 2 +- .../{gear => armor}/ArmorAustralium.java | 2 +- .../items/{gear => armor}/ArmorEuphemium.java | 6 +- com/hbm/items/{gear => armor}/ArmorFSB.java | 2 +- .../items/{gear => armor}/ArmorHazmat.java | 2 +- com/hbm/items/{gear => armor}/ArmorModel.java | 2 +- .../{gear => armor}/ArmorSchrabidium.java | 2 +- com/hbm/items/{gear => armor}/ArmorT45.java | 12 +- com/hbm/items/{gear => armor}/ArmorTest.java | 2 +- .../items/{gear => armor}/JetpackBooster.java | 2 +- .../items/{gear => armor}/JetpackBreak.java | 2 +- .../items/{gear => armor}/JetpackRegular.java | 2 +- .../{gear => armor}/JetpackVectorized.java | 2 +- .../items/{gear => armor}/MaskOfInfamy.java | 2 +- com/hbm/items/{gear => armor}/ModArmor.java | 2 +- .../ItemAssemblyTemplate.java | 2 +- .../{special => machine}/ItemBattery.java | 2 +- .../{special => machine}/ItemBlades.java | 2 +- .../{special => machine}/ItemCapacitor.java | 2 +- .../items/{tool => machine}/ItemCassette.java | 2 +- .../{special => machine}/ItemCatalyst.java | 2 +- .../{tool => machine}/ItemChemistryIcon.java | 5 +- .../ItemChemistryTemplate.java | 7 +- .../{tool => machine}/ItemFluidDuct.java | 2 +- .../{tool => machine}/ItemFluidIcon.java | 2 +- .../ItemFluidIdentifier.java | 2 +- .../{tool => machine}/ItemFluidTank.java | 2 +- .../{special => machine}/ItemFuelRod.java | 4 +- .../items/{special => machine}/ItemLens.java | 2 +- .../{tool => machine}/ItemReactorSensor.java | 2 +- .../items/{tool => machine}/ItemSatChip.java | 2 +- .../{tool => machine}/ItemTemplateFolder.java | 2 +- .../{tool => machine}/ItemTurretBiometry.java | 2 +- .../{tool => machine}/ItemTurretChip.java | 2 +- com/hbm/items/special/ItemCustomLore.java | 4 +- com/hbm/items/special/ItemPotatos.java | 2 + com/hbm/items/special/ItemRadioactive.java | 2 + com/hbm/items/special/ItemStarterKit.java | 1 + com/hbm/items/special/ItemSyringe.java | 8 +- .../items/{gear => tool}/AxeSchrabidium.java | 2 +- com/hbm/items/{gear => tool}/BigSword.java | 2 +- .../items/{gear => tool}/HoeSchrabidium.java | 2 +- com/hbm/items/tool/ItemRamManipulator.java | 87 - com/hbm/items/tool/ItemSatInterface.java | 1 + com/hbm/items/tool/ItemToolAbility.java | 283 +++ com/hbm/items/tool/ItemToolAbilityPower.java | 120 ++ com/hbm/items/{gear => tool}/ModAxe.java | 2 +- com/hbm/items/{gear => tool}/ModHoe.java | 2 +- com/hbm/items/{gear => tool}/ModPickaxe.java | 2 +- com/hbm/items/{gear => tool}/ModSpade.java | 2 +- com/hbm/items/{gear => tool}/ModSword.java | 2 +- .../{gear => tool}/PickaxeSchrabidium.java | 2 +- .../items/{gear => tool}/RedstoneSword.java | 2 +- .../{gear => tool}/SpadeSchrabidium.java | 2 +- .../{gear => tool}/SwordSchrabidium.java | 2 +- .../items/{gear => tool}/WeaponSpecial.java | 8 +- com/hbm/items/weapon/ItemAmmo.java | 22 + com/hbm/items/weapon/ItemGunBase.java | 24 +- com/hbm/lib/HbmChestContents.java | 2 +- com/hbm/lib/Library.java | 410 +--- com/hbm/main/ClientProxy.java | 39 +- com/hbm/main/CraftingManager.java | 375 +--- com/hbm/main/MainRegistry.java | 13 +- com/hbm/main/ModEventHandler.java | 32 +- com/hbm/main/ModEventHandlerClient.java | 12 + com/hbm/main/ResourceManager.java | 2 + com/hbm/packet/AuxButtonPacket.java | 15 + com/hbm/packet/ItemFolderPacket.java | 12 +- com/hbm/packet/TESirenPacket.java | 4 +- com/hbm/particle/ParticleRocketFlame.java | 92 +- .../entity/projectile/RenderBullet.java | 1 + com/hbm/render/item/ItemRenderEMPRay.java | 11 +- com/hbm/render/item/ItemRenderWeaponObj.java | 44 +- com/hbm/sound/SoundLoopSiren.java | 2 +- .../tileentity/machine/TileEntityAMSBase.java | 9 +- .../machine/TileEntityConverterHeRf.java | 60 +- .../machine/TileEntityConverterRfHe.java | 61 +- .../tileentity/machine/TileEntityCore.java | 7 +- .../machine/TileEntityCoreAdvanced.java | 2 +- .../machine/TileEntityCoreStabilizer.java | 2 +- .../machine/TileEntityCoreTitanium.java | 2 +- .../machine/TileEntityForceField.java | 2 +- .../machine/TileEntityLockableBase.java | 4 +- .../machine/TileEntityMachineArcFurnace.java | 2 +- .../machine/TileEntityMachineAssembler.java | 4 +- .../machine/TileEntityMachineBattery.java | 244 +-- .../TileEntityMachineBoilerElectric.java | 2 +- .../machine/TileEntityMachineCMBFactory.java | 2 +- .../machine/TileEntityMachineCentrifuge.java | 2 +- .../machine/TileEntityMachineChemplant.java | 4 +- .../machine/TileEntityMachineCoal.java | 2 +- .../machine/TileEntityMachineDeuterium.java | 2 +- .../machine/TileEntityMachineDiesel.java | 2 +- .../machine/TileEntityMachineEPress.java | 2 +- .../TileEntityMachineElectricFurnace.java | 2 +- .../machine/TileEntityMachineGasFlare.java | 2 +- .../machine/TileEntityMachineGenerator.java | 4 +- .../machine/TileEntityMachineMiningDrill.java | 2 +- .../machine/TileEntityMachineOilWell.java | 2 +- .../machine/TileEntityMachinePress.java | 2 +- .../machine/TileEntityMachinePumpjack.java | 2 +- .../TileEntityMachineReactorSmall.java | 2 +- .../TileEntityMachineReactorSmallOld.java | 4 +- .../machine/TileEntityMachineRefinery.java | 2 +- .../machine/TileEntityMachineSatDock.java | 2 +- .../machine/TileEntityMachineSatLinker.java | 2 +- ...eEntityMachineSchrabidiumTransmutator.java | 2 +- .../TileEntityMachineSeleniumEngine.java | 2 +- .../machine/TileEntityMachineShredder.java | 4 +- .../TileEntityMachineShredderLarge.java | 2 +- .../machine/TileEntityMachineSiren.java | 7 +- .../machine/TileEntityMachineTeleLinker.java | 2 +- .../machine/TileEntityMachineTurbine.java | 2 +- .../machine/TileEntityReactorMultiblock.java | 2 +- .../machine/TileEntityReiXMainframe.java | 2 +- .../tileentity/machine/TileEntityTesla.java | 3 +- 224 files changed, 4299 insertions(+), 1986 deletions(-) create mode 100644 assets/hbm/models/weapons/flamer.obj create mode 100644 assets/hbm/sounds/weapon/flamerReload.ogg create mode 100644 assets/hbm/textures/blocks/block_mox_fuel.png create mode 100644 assets/hbm/textures/blocks/block_red_phosphorus.png create mode 100644 assets/hbm/textures/blocks/block_white_phosphorus.png create mode 100644 assets/hbm/textures/blocks/mercury.png create mode 100644 assets/hbm/textures/blocks/particle/particle_base.png rename assets/hbm/textures/gui/{ => weapon}/bombGeneric.png (100%) rename assets/hbm/textures/gui/{ => weapon}/bombGenericLarge.png (100%) rename assets/hbm/textures/gui/{ => weapon}/celprime_cmd.png (100%) rename assets/hbm/textures/gui/{ => weapon}/celprime_cmd_alt.png (100%) rename assets/hbm/textures/gui/{ => weapon}/celprime_cmd_alt_thirdslot.png (100%) rename assets/hbm/textures/gui/{ => weapon}/celprime_cmd_thirdslot.png (100%) rename assets/hbm/textures/gui/{ => weapon}/fatManSchematic.png (100%) rename assets/hbm/textures/gui/{ => weapon}/fleijaSchematic.png (100%) rename assets/hbm/textures/gui/{ => weapon}/gadgetSchematic.png (100%) rename assets/hbm/textures/gui/{ => weapon}/gui_launch_pad.png (100%) rename assets/hbm/textures/gui/{ => weapon}/gui_launch_table.png (100%) rename assets/hbm/textures/gui/{ => weapon}/gui_launch_table_small.png (100%) rename assets/hbm/textures/gui/{ => weapon}/gui_n45.png (100%) rename assets/hbm/textures/gui/{ => weapon}/gui_prototype.png (100%) create mode 100644 assets/hbm/textures/gui/weapon/gui_turret.png rename assets/hbm/textures/gui/{ => weapon}/gunBombSchematic.png (100%) rename assets/hbm/textures/gui/{ => weapon}/gunBombSchematicSmall.png (100%) rename assets/hbm/textures/gui/{ => weapon}/ivyMikeSchematic.png (100%) rename assets/hbm/textures/gui/{ => weapon}/lilBoySchematic.png (100%) rename assets/hbm/textures/gui/{ => weapon}/n2Schematic.png (100%) rename assets/hbm/textures/gui/{ => weapon}/soliniumSchematic.png (100%) rename assets/hbm/textures/gui/{ => weapon}/tsarBombaSchematic.png (100%) create mode 100644 assets/hbm/textures/items/ammo_357_ender.png create mode 100644 assets/hbm/textures/items/ammo_fuel.png create mode 100644 assets/hbm/textures/items/ammo_fuel_gas.png create mode 100644 assets/hbm/textures/items/ammo_fuel_napalm.png create mode 100644 assets/hbm/textures/items/ammo_fuel_phosphorus.png create mode 100644 assets/hbm/textures/items/chem_icon_SATURN.png delete mode 100644 assets/hbm/textures/items/neptunium_ingot.png delete mode 100644 assets/hbm/textures/items/new_magnetized_tungsten.png delete mode 100644 assets/hbm/textures/items/new_titanium.png delete mode 100644 assets/hbm/textures/items/new_tungsten.png create mode 100644 assets/hbm/textures/items/powder_red_phosphorus.png create mode 100644 assets/hbm/textures/models/weapons/flamer.png delete mode 100644 assets/hbm/textures/models/weapons/hk69_base.png create mode 100644 com/hbm/blocks/BlockDummyable.java delete mode 100644 com/hbm/blocks/generic/BlockGenericPillar.java create mode 100644 com/hbm/blocks/generic/BlockRotatablePillar.java create mode 100644 com/hbm/blocks/machine/BlockPillar.java delete mode 100644 com/hbm/blocks/machine/BlockReactor.java create mode 100644 com/hbm/handler/ArmorUtil.java create mode 100644 com/hbm/handler/MultiblockHandlerXR.java create mode 100644 com/hbm/handler/ThreeInts.java create mode 100644 com/hbm/handler/ToolAbility.java delete mode 100644 com/hbm/handler/nei/ModInfoHandler.java rename com/hbm/items/{gear => armor}/ArmorAsbestos.java (96%) rename com/hbm/items/{gear => armor}/ArmorAustralium.java (98%) rename com/hbm/items/{gear => armor}/ArmorEuphemium.java (86%) rename com/hbm/items/{gear => armor}/ArmorFSB.java (99%) rename com/hbm/items/{gear => armor}/ArmorHazmat.java (97%) rename com/hbm/items/{gear => armor}/ArmorModel.java (97%) rename com/hbm/items/{gear => armor}/ArmorSchrabidium.java (95%) rename com/hbm/items/{gear => armor}/ArmorT45.java (92%) rename com/hbm/items/{gear => armor}/ArmorTest.java (94%) rename com/hbm/items/{gear => armor}/JetpackBooster.java (99%) rename com/hbm/items/{gear => armor}/JetpackBreak.java (98%) rename com/hbm/items/{gear => armor}/JetpackRegular.java (98%) rename com/hbm/items/{gear => armor}/JetpackVectorized.java (98%) rename com/hbm/items/{gear => armor}/MaskOfInfamy.java (90%) rename com/hbm/items/{gear => armor}/ModArmor.java (96%) rename com/hbm/items/{tool => machine}/ItemAssemblyTemplate.java (99%) rename com/hbm/items/{special => machine}/ItemBattery.java (96%) rename com/hbm/items/{special => machine}/ItemBlades.java (94%) rename com/hbm/items/{special => machine}/ItemCapacitor.java (94%) rename com/hbm/items/{tool => machine}/ItemCassette.java (99%) rename com/hbm/items/{special => machine}/ItemCatalyst.java (98%) rename com/hbm/items/{tool => machine}/ItemChemistryIcon.java (94%) rename com/hbm/items/{tool => machine}/ItemChemistryTemplate.java (98%) rename com/hbm/items/{tool => machine}/ItemFluidDuct.java (99%) rename com/hbm/items/{tool => machine}/ItemFluidIcon.java (98%) rename com/hbm/items/{tool => machine}/ItemFluidIdentifier.java (99%) rename com/hbm/items/{tool => machine}/ItemFluidTank.java (98%) rename com/hbm/items/{special => machine}/ItemFuelRod.java (91%) rename com/hbm/items/{special => machine}/ItemLens.java (97%) rename com/hbm/items/{tool => machine}/ItemReactorSensor.java (98%) rename com/hbm/items/{tool => machine}/ItemSatChip.java (98%) rename com/hbm/items/{tool => machine}/ItemTemplateFolder.java (96%) rename com/hbm/items/{tool => machine}/ItemTurretBiometry.java (98%) rename com/hbm/items/{tool => machine}/ItemTurretChip.java (97%) rename com/hbm/items/{gear => tool}/AxeSchrabidium.java (87%) rename com/hbm/items/{gear => tool}/BigSword.java (95%) rename com/hbm/items/{gear => tool}/HoeSchrabidium.java (87%) delete mode 100644 com/hbm/items/tool/ItemRamManipulator.java create mode 100644 com/hbm/items/tool/ItemToolAbility.java create mode 100644 com/hbm/items/tool/ItemToolAbilityPower.java rename com/hbm/items/{gear => tool}/ModAxe.java (79%) rename com/hbm/items/{gear => tool}/ModHoe.java (79%) rename com/hbm/items/{gear => tool}/ModPickaxe.java (80%) rename com/hbm/items/{gear => tool}/ModSpade.java (79%) rename com/hbm/items/{gear => tool}/ModSword.java (94%) rename com/hbm/items/{gear => tool}/PickaxeSchrabidium.java (88%) rename com/hbm/items/{gear => tool}/RedstoneSword.java (93%) rename com/hbm/items/{gear => tool}/SpadeSchrabidium.java (88%) rename com/hbm/items/{gear => tool}/SwordSchrabidium.java (88%) rename com/hbm/items/{gear => tool}/WeaponSpecial.java (94%) diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index f30dad249..494cc4106 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -68,6 +68,12 @@ potion.hbm_radaway=Radaway potion.hbm_telekinesis=! ! ! potion.hbm_phosphorus=Phosphorverbrennung +tool.ability.recursion=Erzadern-Miner +tool.ability.hammer=AoE +tool.ability.smelter=Auto-Ofen +tool.ability.shredder=Auto-Brecher +tool.ability.cnetrifuge=Auto-Zentrifuge + hbmfluid.none=Nichts hbmfluid.water=Wasser hbmfluid.steam=Dampf @@ -107,6 +113,7 @@ hbmfluid.hydrogen=Flüssiger Wasserstoff hbmfluid.oxygen=Flüssiger Sauerstoff hbmfluid.xenon=Xenongas hbmfluid.balefire=BF-Raketentreibstoff +hbmfluid.mercury=Quecksilber chem.TEST=Test chem.FP_HEAVYOIL=Schwerölverarbeitung @@ -167,6 +174,7 @@ chem.KEVLAR=Kevlarverbundherstellung chem.SOLID_FUEL=Festbrennstoffherstellung chem.ELECTROLYSIS=Kryo-Elektrolyse chem.XENON=Lindeverfahren (Xenon) +chem.SATURN=Saturnitherstellung item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -700,7 +708,7 @@ item.powder_spark_mix.name=Sparkmischung item.ingot_dineutronium.name=Dineutroniumbarren item.powder_dineutronium.name=Dineutroniumstaub item.nugget_dineutronium.name=Dineutroniumnugget -item.ingot_starmetal.name=Sternenmetallbarren +item.ingot_starmetal.name=§9Sternenmetallbarren§r item.ingot_saturnite.name=Saturnitbarren item.plate_saturnite.name=Saturnitplatte item.ingot_fiberglass.name=Fiberglasstafel @@ -806,17 +814,21 @@ tile.block_daffergon.name=Daffergonblock tile.block_verticium.name=Verticiumblock tile.block_desh.name=Verstärketer Deshblock tile.block_yellowcake.name=Yellowcakeblock -tile.block_starmetal.name=Sternenmetallblock +tile.block_starmetal.name=§9Sternenmetallblock§r +tile.block_insulator.name=Isolatorrolle tile.block_fiberglass.name=Fiberglasrolle tile.block_asbestos.name=Asbestblock tile.block_cobalt.name=Kobaltblock tile.block_lithium.name=Lithiumblock +tile.block_white_phosphorus.name=Weißer Phosphorblock +tile.block_red_phosphorus.name=Roter Phosphorblock tile.block_u233.name=U233-Block tile.block_u235.name=U235-Block tile.block_u238.name=U238-Block tile.block_neptunium.name=NeptuniumBlock tile.block_uranium_fuel.name=Urankernbrennstoffblock +tile.block_mox_fuel.name=MOX-Kernbrennstoffblock tile.block_plutonium.name=Plutoniumblock tile.block_pu238.name=Pu238-Block tile.block_pu239.name=Pu239-Block @@ -844,7 +856,7 @@ tile.ore_nether_uranium.name=Nether-Uranerz tile.ore_nether_plutonium.name=Nether-Plutoniumerz tile.ore_nether_tungsten.name=Nether-Wolframerz tile.ore_nether_sulfur.name=Nether-Schwefelerz -tile.ore_nether_fire.name=Feuererz +tile.ore_nether_fire.name=Nether-Phosphorerz tile.ore_nether_schrabidium.name=Nether-Schrabidiumerz tile.ore_meteor_aluminium.name=Meteoriten-Aluminiumerz @@ -1250,7 +1262,7 @@ item.flame_opinion.name=Eigene Meinung item.pellet_cluster.name=Explosive Pellets item.pellet_buckshot.name=Schrotkugeln item.pellet_flechette.name=Flechets -item.powder_fire.name=Flammenpulver +item.powder_fire.name=Roter Phosphor item.powder_ice.name=Kryopulver item.powder_poison.name=Giftpulver item.pellet_gas.name=Giftgaskatusche @@ -1469,6 +1481,7 @@ item.gun_b93.name=§cB93 Energiemod§r item.gun_xvl1456.name=XVL1456 Tau-Kanone Prototyp item.gun_osipr.name=Standartausrüstung für Sicherheitskräfte item.gun_immolator.name=Der Immolator +item.gun_flamer.name=Herr Topaz item.gun_cryolator.name=Der Cryolator item.gun_mp.name=Maschinengewehr des Pazifisten item.gun_zomg.name=Singularitätsbetriebener Paarvernichtungsstrahl "ZOMG Kanone" @@ -1588,6 +1601,10 @@ item.ammo_grenade_concussion.name=40mm Granate (Erschütterung) item.ammo_grenade_finned.name=40mm Granate (Geflügelt) item.ammo_grenade_nuclear.name=40mm Granate (Привет) item.ammo_grenade_sleek.name=40mm Granate (IF-F&E) +item.ammo_fuel.name=Dieselkatusche +item.ammo_fuel_napalm.name=Napalmkatusche +item.ammo_fuel_phosphorus.name=WP-Katusche +item.ammo_fuel_gas.name=Gaskatusche item.folly_shell.name=Silberne Kanonenhülse item.folly_bullet.name=12,8cm Sternenmetall-Hochenergiegeschoss @@ -2063,6 +2080,14 @@ item.security_helmet.name=Sicherheitshelm item.security_plate.name=Sicherheitsbrustpanzer item.security_legs.name=Sicherheitsbeinschutz item.security_boots.name=Sicherheitsstiefel +item.cobalt_helmet.name=Kobalthelm +item.cobalt_plate.name=Kobaltbrustpanzer +item.cobalt_legs.name=Kobaltbeinschutz +item.cobalt_boots.name=Kobaltstiefel +item.starmetal_helmet.name=Sternenmetallhelm +item.starmetal_plate.name=Sternenmetallbrustpanzer +item.starmetal_legs.name=Sternenmetallbeinschutz +item.starmetal_boots.name=Sternenmetallstiefel item.steel_sword.name=Stahlschwert item.steel_pickaxe.name=Stahlspitzhacke diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index a3f322036..ebd3a6ecc 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -68,6 +68,12 @@ potion.hbm_radaway=Radaway potion.hbm_telekinesis=! ! ! potion.hbm_phosphorus=Phosphorus Burns +tool.ability.recursion=Vein Miner +tool.ability.hammer=AoE +tool.ability.smelter=Auto-Smelter +tool.ability.shredder=Auto-Shredder +tool.ability.centrifuge=Auto-Centrifuge + hbmfluid.none=None hbmfluid.water=Water hbmfluid.steam=Steam @@ -107,6 +113,7 @@ hbmfluid.hydrogen=Liquid Hydrogen hbmfluid.oxygen=Liquid Oxygen hbmfluid.xenon=Xenon Gas hbmfluid.balefire=BF Rocket Fuel +hbmfluid.mercury=Mercury chem.TEST=Test chem.FP_HEAVYOIL=Heavy Oil Processing @@ -167,6 +174,7 @@ chem.KEVLAR=Kevlar Compound Production chem.SOLID_FUEL=Solid Rocket Fuel Production chem.ELECTROLYSIS=Cryo-Electrolysis chem.XENON=Linde Xenon Cycle +chem.SATURN=Saturnite Production item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -700,7 +708,7 @@ item.powder_spark_mix.name=Spark Blend item.ingot_dineutronium.name=Dineutronium Ingot item.powder_dineutronium.name=Dineutronium Powder item.nugget_dineutronium.name=Dineutronium Nugget -item.ingot_starmetal.name=Starmetal Ingot +item.ingot_starmetal.name=§9Starmetal Ingot§r item.ingot_saturnite.name=Saturnite Ingot item.plate_saturnite.name=Saturnite Plate item.ingot_fiberglass.name=Fiberglass Bar @@ -806,17 +814,21 @@ tile.block_daffergon.name=Block of Daffergon tile.block_verticium.name=Block of Verticium tile.block_desh.name=Reinforced Block of Desh tile.block_yellowcake.name=Block of Yellowcake -tile.block_starmetal.name=Block of Starmetal +tile.block_starmetal.name=§9Block of Starmetal§r +tile.block_insulator.name=Roll of Insulation tile.block_fiberglass.name=Roll of Fiberglass tile.block_asbestos.name=Block of Asbestos tile.block_cobalt.name=Block of Cobalt tile.block_lithium.name=Block of Lithium +tile.block_white_phosphorus.name=Block of White Phosphorus +tile.block_red_phosphorus.name=Block of Red Phosphorus tile.block_u233.name=Block of U233 tile.block_u235.name=Block of U235 tile.block_u238.name=Block of U238 tile.block_neptunium.name=Block of Neptunium tile.block_uranium_fuel.name=Block of Uranium Fuel +tile.block_mox_fuel.name=Block of MOX Fuel tile.block_plutonium.name=Block of Plutonium tile.block_pu238.name=Block of Pu238 tile.block_pu239.name=Block of Pu239 @@ -844,7 +856,7 @@ tile.ore_nether_uranium.name=Nether Uranium Ore tile.ore_nether_plutonium.name=Nether Plutonium Ore tile.ore_nether_tungsten.name=Nether Tungsten Ore tile.ore_nether_sulfur.name=Nether Sulfur Ore -tile.ore_nether_fire.name=Fire Ore +tile.ore_nether_fire.name=Nether Phosphorus Ore tile.ore_nether_schrabidium.name=Nether Schrabidium Ore tile.ore_meteor_aluminium.name=Meteor Aluminium Ore @@ -1250,7 +1262,7 @@ item.flame_opinion.name=Own Opinion item.pellet_cluster.name=Explosive Pellets item.pellet_buckshot.name=Lead Pellets item.pellet_flechette.name=Flechettes -item.powder_fire.name=Flame Powder +item.powder_fire.name=Red Phosphorus item.powder_ice.name=Cryo Powder item.powder_poison.name=Poison Powder item.pellet_gas.name=Poison Gas Cartridge @@ -1469,6 +1481,7 @@ item.gun_b93.name=§cB93 Energy Mod§r item.gun_xvl1456.name=XVL1456 Tau Cannon Prototype item.gun_osipr.name=Overwatch Standard Issue Pulse Rifle item.gun_immolator.name=The Immolator +item.gun_flamer.name=Mister Topaz item.gun_cryolator.name=The Cryolator item.gun_mp.name=Pacifist's Machine Gun item.gun_zomg.name=Singularity Powered Annihilation Ray "ZOMG Cannon" @@ -1588,6 +1601,10 @@ item.ammo_grenade_concussion.name=40mm Grenade (Concussion) item.ammo_grenade_finned.name=40mm Grenade (Finned) item.ammo_grenade_nuclear.name=40mm Grenade (Привет) item.ammo_grenade_sleek.name=40mm Grenade (IF-R&D) +item.ammo_fuel.name=Diesel Tank +item.ammo_fuel_napalm.name=Napalm Tank +item.ammo_fuel_phosphorus.name=WP Tank +item.ammo_fuel_gas.name=Gas Tank item.folly_shell.name=Silver Bullet Casing item.folly_bullet.name=12.8cm Starmetal High-Energy Shell @@ -2063,6 +2080,14 @@ item.security_helmet.name=Security Helmet item.security_plate.name=Security Chestplate item.security_legs.name=Security Leggings item.security_boots.name=Security Boots +item.cobalt_helmet.name=Cobalt Helmet +item.cobalt_plate.name=Cobalt Chestplate +item.cobalt_legs.name=Cobalt Leggings +item.cobalt_boots.name=Cobalt Boots +item.starmetal_helmet.name=Starmetal Helmet +item.starmetal_plate.name=Starmetal Chestplate +item.starmetal_legs.name=Starmetal Leggings +item.starmetal_boots.name=Starmetal Boots item.steel_sword.name=Steel Sword item.steel_pickaxe.name=Steel Pickaxe diff --git a/assets/hbm/models/weapons/flamer.obj b/assets/hbm/models/weapons/flamer.obj new file mode 100644 index 000000000..2b9e7e367 --- /dev/null +++ b/assets/hbm/models/weapons/flamer.obj @@ -0,0 +1,1755 @@ +# Blender v2.76 (sub 0) OBJ File: 'flamer.blend' +# www.blender.org +o Cylinder +v 0.000000 1.250000 -2.500000 +v 0.000000 1.250000 2.500000 +v 0.176777 1.176776 -2.500000 +v 0.176777 1.176777 2.500000 +v 0.250000 1.000000 -2.500000 +v 0.250000 1.000000 2.500000 +v 0.176777 0.823223 -2.500000 +v 0.176777 0.823224 2.500000 +v -0.000000 0.750000 -2.500000 +v -0.000000 0.750000 2.500000 +v -0.176777 0.823223 -2.500000 +v -0.176777 0.823224 2.500000 +v -0.250000 1.000000 -2.500000 +v -0.250000 1.000000 2.500000 +v -0.176777 1.176776 -2.500000 +v -0.176777 1.176777 2.500000 +v 0.000000 1.500000 2.500000 +v 0.353553 1.353554 2.500000 +v 0.500000 1.000000 2.500000 +v 0.353553 0.646447 2.500000 +v -0.000000 0.500000 2.500000 +v -0.353553 0.646447 2.500000 +v -0.500000 1.000000 2.500000 +v -0.353553 1.353554 2.500000 +v 0.353553 1.353554 4.500000 +v 0.000000 1.500000 4.500000 +v 0.500000 1.000000 4.500000 +v 0.353553 0.646447 4.500000 +v -0.000000 0.500000 4.500000 +v -0.353553 0.646447 4.500000 +v -0.500000 1.000000 4.500000 +v -0.353553 1.353554 4.500000 +v 0.265165 1.265165 4.750000 +v 0.000000 1.375000 4.750000 +v 0.375000 1.000000 4.750000 +v 0.265165 0.734835 4.750000 +v -0.000000 0.625000 4.750000 +v -0.265165 0.734835 4.750000 +v -0.375000 1.000000 4.750000 +v -0.265165 1.265165 4.750000 +v 0.000000 0.775916 0.562275 +v 0.000000 -0.672973 0.950503 +v 0.375000 1.000000 5.000000 +v -0.265165 0.734835 5.000000 +v 0.000000 1.375000 5.000000 +v -0.000000 0.625000 5.000000 +v 0.125000 -0.608268 1.191985 +v 0.125000 0.840621 0.803756 +v 0.088388 -0.585392 1.277361 +v 0.088388 0.863497 0.889133 +v -0.000000 -0.575916 1.312725 +v -0.000000 0.872973 0.924497 +v -0.088388 -0.585392 1.277361 +v -0.088388 0.863497 0.889133 +v -0.125000 -0.608268 1.191985 +v -0.125000 0.840621 0.803756 +v 0.265165 1.265165 5.000000 +v 0.265165 0.734835 5.000000 +v 0.088388 -0.663497 0.985867 +v 0.088388 0.785392 0.597639 +v 0.125000 -0.640621 1.071244 +v 0.125000 0.808268 0.683015 +v -0.125000 -0.640621 1.071244 +v -0.125000 0.808268 0.683015 +v -0.088388 -0.663497 0.985867 +v -0.088388 0.785392 0.597639 +v -0.375000 1.000000 5.000000 +v -0.265165 1.265165 5.000000 +v -0.198874 1.198874 5.000000 +v -0.281250 1.000000 5.000000 +v -0.198874 0.801127 5.000000 +v -0.000000 0.718750 5.000000 +v 0.000000 1.281250 5.000000 +v 0.198874 0.801127 5.000000 +v 0.281250 1.000000 5.000000 +v 0.198874 1.198874 5.000000 +v -0.198874 1.198874 4.750000 +v -0.281250 1.000000 4.750000 +v -0.198874 0.801127 4.750000 +v -0.000000 0.718750 4.750000 +v 0.000000 1.281250 4.750000 +v 0.198874 0.801127 4.750000 +v 0.281250 1.000000 4.750000 +v 0.198874 1.198874 4.750000 +v 0.000000 0.850000 -1.125000 +v 0.000000 -0.650000 -1.125000 +v 0.125000 -0.650000 -0.875000 +v 0.125000 0.850000 -0.875000 +v 0.088388 -0.650000 -0.786612 +v 0.088388 0.850000 -0.786612 +v -0.000000 -0.650000 -0.750000 +v -0.000000 0.850000 -0.750000 +v -0.088388 -0.650000 -0.786612 +v -0.088388 0.850000 -0.786612 +v -0.125000 -0.650000 -0.875000 +v -0.125000 0.850000 -0.875000 +v 0.088388 -0.650000 -1.088388 +v 0.088388 0.850000 -1.088388 +v 0.125000 -0.650000 -1.000000 +v 0.125000 0.850000 -1.000000 +v -0.125000 -0.650000 -1.000000 +v -0.125000 0.850000 -1.000000 +v -0.088388 -0.650000 -1.088388 +v -0.088388 0.850000 -1.088388 +v -0.334835 -0.995481 2.879628 +v -0.600000 -1.073146 2.801963 +v -0.600000 -0.984758 2.536798 +v -0.600000 0.429456 1.122584 +v -0.246447 -0.881204 2.640351 +v -0.246447 0.533009 1.226137 +v -0.100000 -0.631204 2.890351 +v -0.100000 0.783009 1.476137 +v -0.246447 -0.381205 3.140351 +v -0.246447 1.033009 1.726137 +v -0.600000 -0.277651 3.243904 +v -0.600000 1.136562 1.829691 +v -0.953553 -0.381205 3.140351 +v -0.953553 1.033009 1.726137 +v -1.100000 -0.631204 2.890351 +v -1.100000 0.783009 1.476137 +v -0.953553 -0.881204 2.640351 +v -0.953553 0.533009 1.226137 +v -0.225000 -0.807981 3.067128 +v -0.334835 -0.620481 3.254628 +v -0.600000 -0.542816 3.332293 +v -0.865165 -0.620481 3.254628 +v -0.975000 -0.807981 3.067128 +v -0.865165 -0.995481 2.879628 +v -0.600000 -0.896369 3.155516 +v -0.334835 0.772286 1.111861 +v -0.600000 0.694620 1.034196 +v -0.225000 0.959786 1.299361 +v -0.334835 1.147285 1.486861 +v -0.600000 1.224951 1.564526 +v -0.865165 1.147285 1.486861 +v -0.975000 0.959786 1.299361 +v -0.865165 0.772286 1.111861 +v -0.334835 0.949062 0.935084 +v -0.600000 0.871397 0.857419 +v -0.225000 1.136562 1.122584 +v -0.334835 1.324062 1.310084 +v -0.600000 1.401727 1.387749 +v -0.865165 1.324062 1.310084 +v -0.975000 1.136562 1.122584 +v -0.865165 0.949062 0.935084 +v -0.507192 1.070937 1.056959 +v -0.600000 1.043755 1.029776 +v -0.468750 1.136562 1.122584 +v -0.507192 1.202187 1.188209 +v -0.600000 1.229370 1.215392 +v -0.692808 1.202187 1.188209 +v -0.731250 1.136562 1.122584 +v -0.692808 1.070937 1.056959 +v -0.507192 1.582703 0.553196 +v -0.600000 1.547831 0.537018 +v -0.468750 1.666892 0.592254 +v -0.507192 1.751081 0.631312 +v -0.600000 1.785953 0.647490 +v -0.692808 1.751081 0.631312 +v -0.731250 1.666892 0.592254 +v -0.692808 1.582703 0.553196 +v -0.507192 1.900055 -0.126021 +v -0.600000 1.862579 -0.134584 +v -0.468750 1.990531 -0.105349 +v -0.507192 2.081007 -0.084676 +v -0.600000 2.118484 -0.076113 +v -0.692808 2.081007 -0.084676 +v -0.731250 1.990531 -0.105349 +v -0.692808 1.900055 -0.126021 +v -0.507192 2.128390 -1.114374 +v -0.600000 2.089948 -1.114167 +v -0.468750 2.221196 -1.114874 +v -0.507192 2.314003 -1.115373 +v -0.600000 2.352444 -1.115580 +v -0.692808 2.314003 -1.115373 +v -0.731250 2.221196 -1.114874 +v -0.692808 2.128390 -1.114374 +v -0.507192 2.127253 -2.030281 +v -0.600000 2.090441 -2.019205 +v -0.468750 2.216124 -2.057023 +v -0.507192 2.304996 -2.083764 +v -0.600000 2.341808 -2.094840 +v -0.692808 2.304996 -2.083764 +v -0.731250 2.216124 -2.057023 +v -0.692808 2.127253 -2.030281 +v -0.472031 1.940117 -2.669739 +v -0.564838 1.908912 -2.647287 +v -0.433588 2.015452 -2.723941 +v -0.472031 2.090787 -2.778143 +v -0.564838 2.121992 -2.800595 +v -0.657646 2.090787 -2.778143 +v -0.696088 2.015452 -2.723941 +v -0.657646 1.940117 -2.669739 +v -0.442782 1.729579 -2.977650 +v -0.535590 1.710985 -2.944004 +v -0.404340 1.774468 -3.058879 +v -0.442782 1.819358 -3.140109 +v -0.535590 1.837952 -3.173755 +v -0.628398 1.819358 -3.140109 +v -0.666840 1.774468 -3.058879 +v -0.628398 1.729579 -2.977650 +v -0.391283 1.438127 -3.156019 +v -0.484091 1.440989 -3.117683 +v -0.352841 1.431219 -3.248569 +v -0.391283 1.424311 -3.341119 +v -0.484091 1.421449 -3.379455 +v -0.576899 1.424311 -3.341119 +v -0.615341 1.431219 -3.248569 +v -0.576899 1.438127 -3.156019 +v -0.249516 1.207628 -3.148211 +v -0.342324 1.226989 -3.115000 +v -0.211074 1.160890 -3.228390 +v -0.249516 1.114151 -3.308570 +v -0.342324 1.094791 -3.341782 +v -0.435132 1.114151 -3.308570 +v -0.473574 1.160890 -3.228390 +v -0.435132 1.207628 -3.148211 +v -0.121115 1.064876 -3.038342 +v -0.213923 1.101756 -3.027492 +v -0.082673 0.975842 -3.064536 +v -0.121115 0.886808 -3.090731 +v -0.213923 0.849929 -3.101581 +v -0.306731 0.886808 -3.090731 +v -0.345173 0.975842 -3.064536 +v -0.306731 1.064876 -3.038342 +v -0.033410 1.011130 -2.881844 +v -0.126218 1.049316 -2.886280 +v 0.005033 0.918943 -2.871136 +v -0.033410 0.826755 -2.860428 +v -0.126218 0.788570 -2.855992 +v -0.219025 0.826755 -2.860428 +v -0.257468 0.918943 -2.871136 +v -0.219025 1.011130 -2.881844 +v 0.117527 1.061549 -2.447793 +v 0.024719 1.099735 -2.452229 +v 0.155969 0.969362 -2.437085 +v 0.117527 0.877173 -2.426377 +v 0.024719 0.838988 -2.421941 +v -0.068089 0.877173 -2.426377 +v -0.106531 0.969362 -2.437085 +v -0.068089 1.061549 -2.447793 +v -0.000000 1.625000 -0.375000 +v 0.088388 1.588388 -0.375000 +v 0.000000 1.750000 -2.000000 +v 0.000000 1.750000 -0.500000 +v 0.176777 1.676777 -2.000000 +v 0.176777 1.676777 -0.500000 +v 0.250000 1.500000 -2.000000 +v 0.250000 1.500000 -0.500000 +v 0.176777 1.323223 -2.000000 +v 0.176777 1.323223 -0.500000 +v -0.000000 1.250000 -2.000000 +v -0.000000 1.250000 -0.500000 +v -0.176777 1.323223 -2.000000 +v -0.176777 1.323223 -0.500000 +v -0.250000 1.500000 -2.000000 +v -0.250000 1.500000 -0.500000 +v -0.176777 1.676777 -2.000000 +v -0.176777 1.676777 -0.500000 +v 0.125000 1.500000 -0.375000 +v 0.088388 1.411612 -0.375000 +v -0.000000 1.375000 -0.375000 +v -0.088388 1.411612 -0.375000 +v -0.125000 1.500000 -0.375000 +v -0.088388 1.588388 -0.375000 +v -0.000000 1.625000 -2.125000 +v 0.088388 1.588388 -2.125000 +v 0.125000 1.500000 -2.125000 +v 0.088388 1.411612 -2.125000 +v -0.000000 1.375000 -2.125000 +v -0.088388 1.411612 -2.125000 +v -0.125000 1.500000 -2.125000 +v -0.088388 1.588388 -2.125000 +v -0.066291 1.316698 0.680730 +v -0.093750 1.254391 0.658093 +v -0.066291 1.192085 0.635456 +v -0.000000 1.166277 0.626079 +v 0.066291 1.192085 0.635456 +v 0.093750 1.254391 0.658093 +v -0.000000 1.342506 0.690107 +v 0.066291 1.316698 0.680730 +v 0.066291 1.469112 0.404562 +v 0.093750 1.410994 0.372674 +v 0.066291 1.352876 0.340786 +v -0.000000 1.328803 0.327577 +v -0.066291 1.352876 0.340786 +v -0.093750 1.410994 0.372674 +v -0.066291 1.469112 0.404562 +v -0.000000 1.493185 0.417770 +v -0.066291 1.564097 0.052334 +v -0.093750 1.500000 0.035418 +v -0.066291 1.435904 0.018502 +v -0.000000 1.409354 0.011496 +v 0.066291 1.435904 0.018502 +v 0.093750 1.500000 0.035418 +v -0.000000 1.590647 0.059341 +v 0.066291 1.564097 0.052334 +v -0.066291 1.566291 -0.375000 +v -0.093750 1.500000 -0.375000 +v -0.066291 1.433709 -0.375000 +v -0.000000 1.406250 -0.375000 +v 0.066291 1.433709 -0.375000 +v 0.093750 1.500000 -0.375000 +v 0.066291 1.566291 -0.375000 +v -0.000000 1.593750 -0.375000 +v -0.000000 1.239741 0.972957 +v -0.066291 1.213933 0.963580 +v -0.093750 1.151626 0.940943 +v -0.066291 1.089320 0.918306 +v -0.000000 1.063512 0.908929 +v 0.066291 1.089320 0.918306 +v 0.093750 1.151626 0.940943 +v 0.066291 1.213933 0.963580 +v 0.250000 1.250000 2.250000 +v 0.250000 0.750000 2.250000 +v 0.250000 1.250000 0.000000 +v 0.312500 1.250000 0.000000 +v 0.250000 0.750000 -2.000000 +v 0.250000 1.750000 -0.500000 +v 0.250000 1.750000 -2.000000 +v 0.312500 1.250000 2.250000 +v 0.312500 0.750000 2.250000 +v 0.312500 0.750000 -2.000000 +v 0.312500 1.750000 -2.000000 +v 0.312500 1.750000 -0.500000 +v -0.312500 1.250000 0.750000 +v -0.312500 0.750000 0.750000 +v -0.312500 1.250000 0.000000 +v -0.250000 1.250000 0.000000 +v -0.312500 0.750000 -2.000000 +v -0.312500 1.750000 -0.500000 +v -0.312500 1.750000 -2.000000 +v -0.250000 1.250000 0.750000 +v -0.250000 0.750000 0.750000 +v -0.250000 0.750000 -2.000000 +v -0.250000 1.750000 -2.000000 +v -0.250000 1.750000 -0.500000 +v 0.312500 1.875000 -2.000000 +v -0.312500 1.875000 -2.000000 +v 0.312500 1.875000 0.250000 +v -0.312500 1.875000 0.250000 +v 0.312500 1.625000 0.750000 +v -0.312500 1.625000 0.750000 +v 0.312500 1.625000 2.000000 +v -0.312500 1.625000 2.000000 +v 0.312500 1.375000 2.250000 +v -0.312500 1.375000 2.250000 +v 0.312500 1.250000 0.250000 +v 0.312500 1.250000 2.000000 +v -0.000000 1.000000 4.750000 +v 0.353553 1.353554 4.500000 +v 0.000000 1.500000 4.500000 +v 0.500000 1.000000 4.500000 +v 0.353553 0.646447 4.500000 +v -0.000000 0.500000 4.500000 +v -0.353553 0.646447 4.500000 +v -0.500000 1.000000 4.500000 +v -0.353553 1.353554 4.500000 +v 0.265165 1.265165 4.750000 +v 0.000000 1.375000 4.750000 +v 0.375000 1.000000 4.750000 +v 0.265165 0.734835 4.750000 +v -0.000000 0.625000 4.750000 +v -0.265165 0.734835 4.750000 +v -0.375000 1.000000 4.750000 +v -0.265165 1.265165 4.750000 +v -0.334835 0.772286 1.111861 +v -0.600000 0.694620 1.034196 +v -0.225000 0.959786 1.299361 +v -0.334835 1.147285 1.486861 +v -0.600000 1.224951 1.564526 +v -0.865165 1.147285 1.486861 +v -0.975000 0.959786 1.299361 +v -0.865165 0.772286 1.111861 +vt 0.798533 0.049911 +vt 0.749182 0.069988 +vt 0.728740 0.021518 +vt 0.547206 0.354533 +vt 0.448111 0.257208 +vt 0.489158 0.216895 +vt 0.081818 0.339286 +vt 0.072727 0.339286 +vt 0.072727 0.312500 +vt 0.081818 0.250000 +vt 0.072727 0.250000 +vt 0.072727 0.223214 +vt 0.081818 0.401786 +vt 0.081818 0.428571 +vt 0.072727 0.428571 +vt 0.081818 0.383929 +vt 0.072727 0.383929 +vt 0.072727 0.357143 +vt 0.926786 0.215241 +vt 0.943995 0.232143 +vt 0.926786 0.249044 +vt 0.081818 0.517857 +vt 0.072727 0.517857 +vt 0.072727 0.491071 +vt 0.081818 0.562500 +vt 0.072727 0.562500 +vt 0.072727 0.535714 +vt 0.081818 0.473214 +vt 0.072727 0.473214 +vt 0.072727 0.446429 +vt 0.081818 0.294643 +vt 0.072727 0.294643 +vt 0.072727 0.267857 +vt 0.000000 0.508929 +vt 0.036364 0.491071 +vt 0.036364 0.517857 +vt 0.592964 0.246503 +vt 0.697945 0.246503 +vt 0.697945 0.289211 +vt 0.981818 0.607143 +vt 0.763636 0.750000 +vt 0.690909 0.678571 +vt 0.990909 0.750000 +vt 0.981818 0.750000 +vt 0.763636 0.758929 +vt 0.990909 0.607143 +vt 0.990909 0.678571 +vt 0.690909 0.758929 +vt 0.690909 0.750000 +vt 0.981818 0.758929 +vt 0.363636 0.758929 +vt 0.363636 0.750000 +vt 0.581818 0.758929 +vt 0.581818 0.750000 +vt 0.890909 0.000000 +vt 0.890909 0.321429 +vt 0.800000 0.321429 +vt 0.890909 0.392857 +vt 0.800000 0.392857 +vt 0.890909 0.571429 +vt 0.800000 0.571429 +vt 0.890909 0.607143 +vt 0.800000 0.607143 +vt 0.936364 0.392857 +vt 0.000000 0.241071 +vt 0.036364 0.223214 +vt 0.036364 0.250000 +vt 0.036364 0.446429 +vt 0.036364 0.473214 +vt 0.000000 0.464286 +vt 0.036364 0.357143 +vt 0.036364 0.383929 +vt 0.000000 0.375000 +vt 0.036364 0.294643 +vt 0.000000 0.285714 +vt 0.036364 0.267857 +vt 0.036364 0.401786 +vt 0.036364 0.428571 +vt 0.000000 0.419643 +vt 0.036364 0.562500 +vt 0.000000 0.553571 +vt 0.036364 0.535714 +vt 0.036364 0.312500 +vt 0.036364 0.339286 +vt 0.000000 0.330357 +vt 0.749182 0.001441 +vt 0.778091 0.001441 +vt 0.798533 0.021518 +vt 0.778091 0.069988 +vt 0.728740 0.049911 +vt 0.547206 0.216895 +vt 0.588252 0.257208 +vt 0.588252 0.314220 +vt 0.489158 0.354533 +vt 0.448111 0.314220 +vt 0.081818 0.312500 +vt 0.081818 0.223214 +vt 0.072727 0.401786 +vt 0.081818 0.357143 +vt 0.909577 0.249044 +vt 0.909577 0.215241 +vt 0.897409 0.244094 +vt 0.892369 0.232143 +vt 0.897409 0.220192 +vt 0.938955 0.220192 +vt 0.938955 0.244094 +vt 0.081818 0.491071 +vt 0.081818 0.535714 +vt 0.081818 0.446429 +vt 0.081818 0.267857 +vt 0.667197 0.319410 +vt 0.623712 0.319410 +vt 0.592964 0.289211 +vt 0.623712 0.216304 +vt 0.667197 0.216304 +vt 0.363636 0.678571 +vt 0.363636 0.607143 +vt 0.981818 0.678571 +vt 0.581818 0.678571 +vt 0.581818 0.607143 +vt 0.800000 0.000000 +vt 0.981818 0.321429 +vt 0.936364 0.571429 +vt 0.000000 0.107143 +vt 0.000000 0.080357 +vt 0.727273 0.080357 +vt 0.000000 0.053571 +vt 0.727273 0.053571 +vt 0.000000 0.026786 +vt 0.727273 0.026786 +vt 0.000000 -0.000000 +vt 0.727273 -0.000000 +vt 0.000000 0.214286 +vt 0.000000 0.187500 +vt 0.727273 0.187500 +vt -0.000000 0.160714 +vt 0.727273 0.160714 +vt 0.000000 0.133929 +vt 0.727273 0.107143 +vt 0.727273 0.133929 +vt 0.154545 0.392857 +vt 0.118182 0.383929 +vt 0.118182 0.357143 +vt 0.445455 0.482143 +vt 0.154545 0.482143 +vt 0.154545 0.437500 +vt 0.445455 0.571429 +vt 0.154545 0.571429 +vt 0.154545 0.526786 +vt 0.445455 0.303571 +vt 0.154545 0.303571 +vt 0.154545 0.258929 +vt 0.445455 0.392857 +vt 0.154545 0.348214 +vt 0.445455 0.437500 +vt 0.445455 0.526786 +vt 0.445455 0.258929 +vt 0.154545 0.214286 +vt 0.445455 0.348214 +vt 0.118182 0.473214 +vt 0.118182 0.428571 +vt 0.118182 0.401786 +vt 0.118182 0.517857 +vt 0.118182 0.491071 +vt 0.118182 0.250000 +vt 0.118182 0.223214 +vt 0.118182 0.339286 +vt 0.118182 0.446429 +vt 0.118182 0.562500 +vt 0.118182 0.535714 +vt 0.118182 0.294643 +vt 0.963636 0.000000 +vt 0.963636 0.214286 +vt 0.954545 0.214286 +vt 0.909091 0.214286 +vt 0.900000 0.214286 +vt 0.900000 -0.000000 +vt 0.945455 0.214286 +vt 0.945455 0.000000 +vt 0.890909 0.214286 +vt 0.936364 0.214286 +vt 0.936364 0.000000 +vt 0.990909 0.214286 +vt 0.981818 0.214286 +vt 0.981818 0.000000 +vt 0.927273 0.214286 +vt 1.000000 0.214286 +vt 0.990909 0.000000 +vt 0.909091 -0.000000 +vt 0.927273 0.000000 +vt 0.954545 0.000000 +vt 0.081818 0.607143 +vt 0.054545 0.607143 +vt 0.063636 0.571429 +vt 0.000000 0.642857 +vt 0.009091 0.607143 +vt 0.036364 0.607143 +vt 0.090909 0.928571 +vt 0.045455 0.928571 +vt 0.045455 0.642857 +vt 0.281818 0.607143 +vt 0.290909 0.571429 +vt 0.309091 0.607143 +vt 0.000000 0.928571 +vt 0.018182 0.571429 +vt 0.227273 0.642857 +vt 0.236364 0.607143 +vt 0.263636 0.607143 +vt 0.363636 0.928571 +vt 0.318182 0.928571 +vt 0.318182 0.642857 +vt 0.336364 0.571429 +vt 0.354545 0.607143 +vt 0.327273 0.607143 +vt 0.272727 0.642857 +vt 0.272727 0.928571 +vt 0.245455 0.571429 +vt 0.181818 0.642857 +vt 0.136364 0.642857 +vt 0.145455 0.607143 +vt 0.227273 0.928571 +vt 0.090909 0.642857 +vt 0.100000 0.607143 +vt 0.127273 0.607143 +vt 0.109091 0.571429 +vt 0.181818 0.928571 +vt 0.136364 0.928571 +vt 0.172727 0.964286 +vt 0.190909 0.607143 +vt 0.200000 0.571429 +vt 0.218182 0.607143 +vt 0.363636 0.642857 +vt 0.172727 0.607143 +vt 0.172727 1.000000 +vt 0.145455 1.000000 +vt 0.309091 0.964286 +vt 0.127273 0.964286 +vt 0.100000 0.964286 +vt 0.263636 0.964286 +vt 0.236364 0.964286 +vt 0.036364 0.964286 +vt 0.009091 0.964286 +vt 0.218182 0.964286 +vt 0.190909 0.964286 +vt 0.081818 0.964286 +vt 0.354545 0.964286 +vt 0.327273 0.964286 +vt 0.263636 1.000000 +vt 0.236364 1.000000 +vt 0.354545 1.000000 +vt 0.327273 1.000000 +vt 0.081818 1.000000 +vt 0.054545 1.000000 +vt 0.127273 1.000000 +vt 0.100000 1.000000 +vt 0.218182 1.000000 +vt 0.190909 1.000000 +vt 0.309091 1.000000 +vt 0.281818 1.000000 +vt 0.036364 1.000000 +vt 0.448482 0.946245 +vt 0.447816 0.936764 +vt 0.523996 0.936068 +vt 0.369358 0.915395 +vt 0.369651 0.904997 +vt 0.443928 0.907333 +vt 0.369577 0.977632 +vt 0.444759 0.974927 +vt 0.444202 0.985187 +vt 0.368934 0.957145 +vt 0.447883 0.955729 +vt 0.446357 0.965194 +vt 0.368756 0.946516 +vt 0.368859 0.935885 +vt 0.369103 0.925507 +vt 0.444557 0.917588 +vt 0.369251 0.967522 +vt 0.446224 0.927310 +vt 0.522087 0.975636 +vt 0.626450 0.975177 +vt 0.626057 0.985284 +vt 0.521878 0.916354 +vt 0.523095 0.965773 +vt 0.524450 0.945986 +vt 0.524068 0.955907 +vt 0.522955 0.926210 +vt 0.521371 0.906291 +vt 0.521651 0.985702 +vt 0.628882 0.945575 +vt 0.723624 0.945363 +vt 0.722938 0.955028 +vt 0.628486 0.955489 +vt 0.627480 0.965327 +vt 0.628421 0.935698 +vt 0.626249 0.916110 +vt 0.627351 0.925915 +vt 0.625775 0.906009 +vt 0.721652 0.964592 +vt 0.790095 0.963668 +vt 0.789097 0.973339 +vt 0.722167 0.926018 +vt 0.719968 0.906107 +vt 0.720504 0.974265 +vt 0.720292 0.984376 +vt 0.723330 0.935673 +vt 0.720747 0.916255 +vt 0.791502 0.954389 +vt 0.831324 0.953660 +vt 0.829446 0.962292 +vt 0.792458 0.945160 +vt 0.791501 0.926590 +vt 0.788839 0.906848 +vt 0.789375 0.983686 +vt 0.792466 0.935897 +vt 0.789942 0.917055 +vt 0.829472 0.918437 +vt 0.827726 0.908180 +vt 0.862719 0.910216 +vt 0.832923 0.936395 +vt 0.828203 0.971666 +vt 0.832673 0.945158 +vt 0.831759 0.927625 +vt 0.828966 0.982180 +vt 0.863999 0.960877 +vt 0.889845 0.961285 +vt 0.890148 0.970994 +vt 0.862777 0.969191 +vt 0.866818 0.953742 +vt 0.871109 0.938583 +vt 0.869466 0.946526 +vt 0.866875 0.920299 +vt 0.870562 0.929761 +vt 0.899634 0.931326 +vt 0.924923 0.932413 +vt 0.925432 0.940574 +vt 0.895714 0.946765 +vt 0.892429 0.953646 +vt 0.891166 0.913838 +vt 0.865152 0.979003 +vt 0.898514 0.939714 +vt 0.896870 0.922597 +vt 0.914512 0.972870 +vt 0.917998 0.983727 +vt 0.894742 0.980719 +vt 0.919650 0.955423 +vt 0.915792 0.963054 +vt 0.923237 0.948280 +vt 0.920544 0.924055 +vt 0.945061 0.931037 +vt 0.935756 0.975611 +vt 0.937251 0.965252 +vt 0.984846 0.968093 +vt 0.913450 0.915823 +vt 0.933929 0.913381 +vt 0.940874 0.956561 +vt 0.946125 0.940120 +vt 0.944297 0.948500 +vt 0.940514 0.922208 +vt 0.989499 0.946755 +vt 0.986463 0.957358 +vt 0.992017 0.925068 +vt 0.991979 0.935995 +vt 0.984210 0.904997 +vt 0.938053 0.986290 +vt 0.985609 0.978434 +vt 0.989108 0.914525 +vt 0.690909 0.437500 +vt 0.709091 0.446429 +vt 0.709091 0.455357 +vt 0.472727 0.544643 +vt 0.454545 0.535714 +vt 0.454545 0.526786 +vt 0.472727 0.464286 +vt 0.472727 0.437500 +vt 0.690909 0.410714 +vt 0.709091 0.419643 +vt 0.709091 0.428571 +vt 0.454545 0.428571 +vt 0.454545 0.419643 +vt 0.472727 0.410714 +vt 0.690909 0.357143 +vt 0.709091 0.366071 +vt 0.709091 0.375000 +vt 0.472727 0.571429 +vt 0.454545 0.562500 +vt 0.454545 0.553571 +vt 0.472727 0.383929 +vt 0.690909 0.383929 +vt 0.690909 0.517857 +vt 0.690909 0.491071 +vt 0.709091 0.500000 +vt 0.472727 0.491071 +vt 0.454545 0.482143 +vt 0.454545 0.473214 +vt 0.472727 0.357143 +vt 0.743565 0.392074 +vt 0.718979 0.382072 +vt 0.753748 0.367928 +vt 0.454545 0.375000 +vt 0.454545 0.366071 +vt 0.690909 0.544643 +vt 0.454545 0.401786 +vt 0.454545 0.392857 +vt 0.718979 0.367928 +vt 0.743565 0.357926 +vt 0.729163 0.392074 +vt 0.472727 0.517857 +vt 0.454545 0.508929 +vt 0.454545 0.500000 +vt 0.690909 0.464286 +vt 0.709091 0.553571 +vt 0.709091 0.562500 +vt 0.454545 0.455357 +vt 0.454545 0.446429 +vt 0.709091 0.392857 +vt 0.709091 0.401786 +vt 0.709091 0.526786 +vt 0.709091 0.535714 +vt 0.709091 0.473214 +vt 0.709091 0.482143 +vt 0.883488 0.817576 +vt 0.882232 0.827636 +vt 0.835305 0.826374 +vt 0.885741 0.796519 +vt 0.884937 0.807186 +vt 0.834078 0.804683 +vt 0.885054 0.867824 +vt 0.834209 0.870476 +vt 0.834772 0.859787 +vt 0.882271 0.847386 +vt 0.835381 0.848832 +vt 0.835584 0.837608 +vt 0.881777 0.837512 +vt 0.834652 0.815389 +vt 0.885897 0.878489 +vt 0.834109 0.881224 +vt 0.788550 0.816272 +vt 0.788349 0.805553 +vt 0.935471 0.867378 +vt 0.935886 0.878049 +vt 0.934232 0.817658 +vt 0.932675 0.837417 +vt 0.933171 0.847256 +vt 0.934307 0.857171 +vt 0.935356 0.807446 +vt 0.933133 0.827577 +vt 0.883566 0.857440 +vt 0.995395 0.848137 +vt 0.995120 0.858794 +vt 0.995353 0.826466 +vt 0.994699 0.805334 +vt 0.935730 0.796774 +vt 0.994822 0.869271 +vt 0.995520 0.837301 +vt 0.995038 0.815809 +vt 0.994494 0.879958 +vt 0.788149 0.880627 +vt 0.788294 0.869864 +vt 0.788460 0.858982 +vt 0.788621 0.848192 +vt 0.788686 0.826897 +vt 0.788149 0.794715 +vt 0.788710 0.837511 +vt 0.727273 0.214286 +vt 0.445455 0.214286 +vt 0.118182 0.312500 +vt 0.118182 0.267857 +vt 1.000000 0.000000 +vt 0.145455 0.964286 +vt 0.281818 0.964286 +vt 0.054545 0.964286 +vt 0.009091 1.000000 +vt 0.369943 0.988027 +vt 0.988370 0.988839 +vt 0.709091 0.508929 +vt 0.729163 0.357926 +vt 0.753748 0.382072 +vt 0.690909 0.571429 +vt 0.833952 0.793960 +vt 0.994330 0.794648 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 -0.965900 0.258800 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 0.707100 -0.707100 +vn 1.000000 0.000000 0.000000 +vn -1.000000 -0.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.707100 0.707100 +vn 0.000000 0.894400 0.447200 +vn 0.707100 0.707100 0.000000 +vn 0.549000 0.549000 -0.630200 +vn 0.776400 0.000000 -0.630200 +vn 0.707100 -0.707100 0.000000 +vn 0.549000 -0.549000 -0.630200 +vn 0.000000 -0.776400 -0.630200 +vn -0.707100 -0.707100 0.000000 +vn -0.549000 -0.549000 -0.630200 +vn -0.776400 0.000000 -0.630200 +vn -0.707100 0.707100 0.000000 +vn 0.000000 0.776400 -0.630200 +vn -0.549000 0.549000 -0.630200 +vn 0.632400 0.632400 0.447200 +vn -0.776400 0.000000 0.630200 +vn -0.549000 0.549000 0.630200 +vn -0.632400 0.632400 0.447200 +vn -0.632400 -0.632400 0.447200 +vn -0.894400 0.000000 0.447200 +vn 0.632400 -0.632400 0.447200 +vn 0.000000 -0.894400 0.447200 +vn 0.894400 0.000000 0.447200 +vn 0.000000 0.776400 0.630200 +vn 0.000000 -0.776400 0.630200 +vn -0.549000 -0.549000 0.630200 +vn 0.549000 0.549000 0.630200 +vn 0.776400 0.000000 0.630200 +vn 0.549000 -0.549000 0.630200 +vn 0.731800 -0.605300 0.312900 +vn 0.980800 0.050500 0.188400 +vn 0.707100 0.183000 0.683000 +vn -0.594300 0.000000 0.804200 +vn -0.420300 -0.420300 0.804200 +vn -0.980800 -0.050500 -0.188400 +vn -0.707100 -0.183000 -0.683000 +vn -0.549000 -0.750800 -0.367100 +vn 0.000000 0.258800 0.965900 +vn 0.000000 -0.407800 0.913000 +vn 0.000000 -0.258800 -0.965900 +vn 0.000000 -0.809700 -0.586800 +vn -0.707100 0.183000 0.683000 +vn -0.549000 -0.466700 0.693400 +vn 0.707100 -0.183000 -0.683000 +vn 0.980800 -0.050500 -0.188400 +vn 0.731800 -0.680700 0.031700 +vn -0.980800 0.050500 0.188400 +vn 0.549000 -0.750800 -0.367100 +vn -0.731900 -0.680700 0.031700 +vn -0.731900 -0.605300 0.312900 +vn 0.000000 0.594300 0.804200 +vn -0.420300 0.420300 0.804200 +vn 0.594300 0.000000 0.804200 +vn 0.000000 -0.594300 0.804200 +vn 0.420300 -0.420300 0.804200 +vn 0.420300 0.420300 0.804200 +vn 0.980800 0.000000 0.195100 +vn 0.707100 0.000000 0.707100 +vn 0.549000 -0.630200 0.549000 +vn -0.980800 0.000000 -0.195100 +vn -0.707100 0.000000 -0.707100 +vn -0.549000 -0.630200 -0.549000 +vn 0.000000 -0.630200 0.776400 +vn 0.000000 -0.630200 -0.776400 +vn -0.707100 0.000000 0.707100 +vn -0.549000 -0.630200 0.549000 +vn 0.707100 0.000000 -0.707100 +vn 0.980800 0.000000 -0.195100 +vn 0.731800 -0.665700 -0.145600 +vn -0.980800 0.000000 0.195100 +vn -0.731900 -0.665700 0.145600 +vn 0.549000 -0.630200 -0.549000 +vn 0.000000 -1.000000 0.005700 +vn 0.497100 -0.854400 0.151300 +vn 0.000000 -0.707100 0.707100 +vn 0.975900 -0.154200 0.154200 +vn 0.703000 -0.502900 0.502900 +vn 0.000000 -0.535800 -0.844300 +vn 0.690100 -0.333700 -0.642200 +vn 0.690100 -0.642200 -0.333700 +vn 0.000000 -0.005700 1.000000 +vn 0.497100 -0.151300 0.854400 +vn 0.975900 0.154200 -0.154200 +vn -0.690100 0.333700 0.642200 +vn -0.497100 -0.151300 0.854400 +vn 0.690100 0.642200 0.333700 +vn 0.690100 0.333700 0.642200 +vn 0.000000 0.535800 0.844300 +vn 0.000000 0.844300 0.535800 +vn -0.975900 -0.154200 0.154200 +vn -0.690100 -0.642200 -0.333700 +vn -0.497100 -0.854400 0.151300 +vn -0.690100 0.642200 0.333700 +vn 0.000000 -0.844300 -0.535800 +vn -0.975900 0.154200 -0.154200 +vn -0.690100 -0.333700 -0.642200 +vn -0.894400 0.316200 -0.316200 +vn -0.703000 -0.502900 0.502900 +vn -0.776400 0.445700 -0.445700 +vn -0.549000 0.057500 -0.833800 +vn 0.632400 0.763400 0.131000 +vn -0.632400 -0.131000 -0.763400 +vn 0.000000 -0.316200 -0.948700 +vn 0.000000 0.948700 0.316200 +vn -0.632400 0.763400 0.131000 +vn 0.632400 -0.131000 -0.763400 +vn 0.894400 0.316200 -0.316200 +vn 0.000000 0.994600 0.103300 +vn -0.549000 0.833800 -0.057500 +vn 0.776400 0.445700 -0.445700 +vn 0.549000 0.833800 -0.057500 +vn 0.000000 -0.707100 -0.707100 +vn 0.000000 -0.103300 -0.994600 +vn 0.549000 0.057500 -0.833800 +vn -0.707100 -0.500000 -0.500000 +vn -0.707100 0.500000 0.500000 +vn 0.707100 0.500000 0.500000 +vn 0.707100 -0.500000 -0.500000 +vn 0.000000 0.827100 0.562100 +vn 0.683300 0.600200 0.415700 +vn 0.693300 0.682400 0.231700 +vn 0.705400 -0.496100 -0.506200 +vn 0.000000 -0.699000 -0.715100 +vn 0.000000 -0.811400 -0.584400 +vn -0.705400 -0.496100 -0.506200 +vn -0.725200 -0.561800 -0.398000 +vn -0.705600 0.503700 0.498400 +vn -0.683300 0.600200 0.415700 +vn -0.999000 0.032000 0.030400 +vn 0.000000 0.712400 0.701800 +vn 0.705600 0.503700 0.498400 +vn 1.000000 0.000400 -0.001700 +vn 0.725200 -0.561800 -0.398000 +vn -1.000000 0.000400 -0.001700 +vn 0.999000 0.032000 0.030400 +vn -0.718600 -0.657300 -0.226900 +vn -0.719300 -0.690200 -0.078800 +vn 0.000000 -0.993100 -0.116900 +vn 0.718600 -0.657300 -0.226900 +vn -0.999700 0.023400 0.010300 +vn 0.000000 0.947900 0.318400 +vn -0.693300 0.682400 0.231700 +vn 0.999700 0.023400 0.010300 +vn 0.000000 -0.944200 -0.329200 +vn 0.000000 0.994700 0.102800 +vn -0.006100 0.987200 -0.159300 +vn -0.691700 0.710900 -0.126900 +vn -0.691700 0.718000 0.077200 +vn -0.999600 0.027600 0.005700 +vn 0.691700 0.718000 0.077200 +vn 0.719300 -0.690200 -0.078800 +vn 0.999600 0.027600 0.005700 +vn -0.999300 0.027700 -0.025700 +vn -0.997900 0.001500 -0.064500 +vn -0.717500 -0.649700 0.251000 +vn 0.998800 0.042800 0.023500 +vn -0.006300 -0.990800 0.135100 +vn -0.723100 -0.686200 0.078500 +vn 0.682800 0.724400 -0.094700 +vn 0.719700 -0.684400 0.116600 +vn -0.687200 0.630100 -0.361500 +vn -0.684100 0.423900 -0.593500 +vn -0.995000 -0.050400 -0.085800 +vn -0.003300 0.887300 -0.461200 +vn 0.996600 0.073200 0.037400 +vn -0.002200 -0.909500 0.415700 +vn 0.678000 0.671800 -0.298300 +vn 0.723200 -0.602900 0.336800 +vn 0.726500 -0.411900 0.550000 +vn -0.003300 -0.704400 0.709800 +vn -0.033300 -0.321700 0.946200 +vn 0.661200 0.525400 -0.535500 +vn -0.717000 -0.537600 0.443600 +vn -0.006700 0.629700 -0.776800 +vn 0.991200 0.131100 0.017300 +vn -0.960600 -0.273300 -0.049700 +vn -0.890000 -0.428900 0.154400 +vn -0.634000 -0.151900 0.758300 +vn -0.681200 -0.430500 0.592100 +vn -0.697800 -0.058900 -0.713900 +vn 0.597300 0.310100 -0.739600 +vn -0.041800 0.139900 -0.989300 +vn 0.718700 0.085800 0.690000 +vn 0.929700 0.356300 -0.093200 +vn 0.882400 0.353000 -0.311000 +vn 0.874400 0.089800 -0.476700 +vn 0.610500 -0.532600 -0.586200 +vn 0.000900 -0.430000 -0.902800 +vn -0.651600 -0.535800 -0.536900 +vn 0.010300 0.310300 0.950600 +vn 0.629100 -0.101200 -0.770700 +vn 0.674700 0.632300 0.380800 +vn -0.573400 0.329700 0.749900 +vn 0.047400 0.812400 0.581200 +vn -0.672400 -0.724800 -0.150000 +vn -0.900900 -0.218100 0.375200 +vn -0.009400 -0.872900 -0.487700 +vn 0.705600 0.708100 -0.027000 +vn 0.930000 -0.066400 -0.361400 +vn -0.660900 0.652200 0.371200 +vn -0.936300 -0.021900 0.350400 +vn -0.945200 0.037700 0.324300 +vn 0.036300 0.994200 0.101200 +vn -0.676800 -0.715000 0.174900 +vn 0.639800 -0.721300 -0.265100 +vn -0.008100 -0.998200 -0.058600 +vn 0.717300 0.648600 -0.254300 +vn 0.080500 -0.992900 0.087300 +vn -0.645400 -0.700000 0.305700 +vn 0.945200 -0.037700 -0.324300 +vn 0.719700 -0.672500 -0.172200 +vn 0.080500 0.986500 -0.142600 +vn -0.645400 0.751400 0.137100 +vn 0.719700 0.615200 -0.321700 +vn 0.661500 0.661500 -0.353100 +vn 0.323800 0.323800 -0.888900 +vn 0.000000 0.458000 -0.888900 +vn -0.661500 -0.661500 0.353100 +vn -0.323800 -0.323800 0.888900 +vn -0.458000 0.000000 0.888900 +vn 0.000000 0.935500 0.353100 +vn 0.661500 0.661500 0.353100 +vn 0.935500 0.000000 -0.353100 +vn 0.458000 0.000000 -0.888900 +vn 0.323800 0.323800 0.888900 +vn 0.458000 0.000000 0.888900 +vn 0.935500 0.000000 0.353100 +vn 0.000000 -0.935500 -0.353100 +vn 0.000000 -0.458000 -0.888900 +vn 0.323800 -0.323800 -0.888900 +vn 0.000000 -0.935500 0.353100 +vn 0.000000 -0.458000 0.888900 +vn 0.661500 -0.661500 0.353100 +vn 0.661500 -0.661500 -0.353100 +vn -0.935500 0.000000 -0.353100 +vn -0.661500 0.661500 -0.353100 +vn -0.323800 0.323800 -0.888900 +vn -0.661500 0.661500 0.353100 +vn -0.323800 0.323800 0.888900 +vn 0.000000 0.458000 0.888900 +vn -0.323800 -0.323800 -0.888900 +vn 0.323800 -0.323800 0.888900 +vn -0.661500 -0.661500 -0.353100 +vn -0.935500 0.000000 0.353100 +vn 0.000000 0.935500 -0.353100 +vn -0.458000 0.000000 -0.888900 +vn 0.999500 0.028900 0.008500 +vn 0.691200 0.669900 0.271000 +vn 0.716000 0.635600 0.288600 +vn 0.000000 -0.931700 -0.363100 +vn 0.720600 -0.644800 -0.254800 +vn 0.697400 -0.653200 -0.294700 +vn -0.720600 -0.644800 -0.254800 +vn -0.697400 -0.653200 -0.294700 +vn -0.999800 -0.016500 -0.008800 +vn -0.691200 0.669900 0.270900 +vn -0.716000 0.635600 0.288600 +vn 0.000000 0.909800 0.415000 +vn 0.000000 0.925400 0.378900 +vn 0.999800 -0.016500 -0.008800 +vn 0.000000 -0.912200 -0.409800 +vn 0.707100 -0.664600 -0.241500 +vn -0.720700 -0.688000 -0.084700 +vn 0.000000 -0.993100 -0.117200 +vn 0.999500 0.031400 0.001000 +vn 0.000000 0.990300 0.138600 +vn -0.689800 0.717500 0.096500 +vn -0.999500 0.031400 0.001000 +vn 0.720700 -0.688000 -0.084700 +vn 0.689800 0.717500 0.096500 +vn -0.999500 0.028900 0.008500 +vn -0.706000 0.708200 0.002700 +vn -1.000000 -0.000700 0.001000 +vn 0.706000 0.708200 0.002700 +vn 0.705900 -0.708300 0.005000 +vn -0.705900 -0.708300 0.005000 +vn 0.000000 1.000000 0.005300 +vn 1.000000 -0.000700 0.001000 +vn 0.000000 -0.999900 0.008000 +vn 0.000000 -0.939900 -0.341500 +vn -0.707100 -0.664600 -0.241500 +vn -0.707100 0.664600 0.241500 +vn 0.707100 0.664600 0.241500 +vn 0.000000 0.939900 0.341500 +vn 0.549000 -0.466700 0.693400 +vn 0.731900 -0.665700 0.145600 +vn -0.731900 -0.665700 -0.145600 +s off +f 7/1/1 11/2/1 15/3/1 +f 21/4/1 24/5/1 17/6/1 +f 57/7/2 76/8/2 75/9/2 +f 58/10/2 74/11/2 72/12/2 +f 45/13/2 68/14/2 69/15/2 +f 45/16/2 73/17/2 76/18/2 +f 63/19/3 42/20/3 61/21/3 +f 44/22/2 71/23/2 70/24/2 +f 46/25/2 72/26/2 71/27/2 +f 67/28/2 70/29/2 69/30/2 +f 43/31/2 75/32/2 74/33/2 +f 350/34/2 78/35/2 79/36/2 +f 101/19/4 86/20/4 99/21/4 +f 144/37/5 141/38/5 140/39/5 +f 323/40/6 325/41/6 317/42/6 +f 320/43/1 324/44/1 323/40/1 +f 319/41/7 320/44/7 318/40/7 +f 319/45/8 325/41/8 324/44/8 +f 315/40/2 322/46/2 321/47/2 +f 316/48/9 317/49/9 325/41/9 +f 318/44/4 323/50/4 322/51/4 +f 314/51/8 321/52/8 317/49/8 +f 335/40/6 337/41/6 329/42/6 +f 332/43/1 336/44/1 335/40/1 +f 331/41/7 332/44/7 330/40/7 +f 331/45/8 337/41/8 336/44/8 +f 327/40/2 334/46/2 333/47/2 +f 328/48/9 329/49/9 337/41/9 +f 330/44/4 335/50/4 334/53/4 +f 326/53/8 333/54/8 329/49/8 +f 339/55/8 341/56/8 340/57/8 +f 341/56/10 343/58/10 342/59/10 +f 343/58/8 345/60/8 344/61/8 +f 345/60/9 347/62/9 346/63/9 +f 342/64/6 349/60/6 348/56/6 +f 350/65/2 80/66/2 82/67/2 +f 77/68/2 78/69/2 350/70/2 +f 84/71/2 81/72/2 350/73/2 +f 83/74/2 350/75/2 82/76/2 +f 81/77/2 77/78/2 350/79/2 +f 80/80/2 350/81/2 79/82/2 +f 83/83/2 84/84/2 350/85/2 +f 15/3/1 1/86/1 3/87/1 +f 3/87/1 5/88/1 7/1/1 +f 7/1/1 9/89/1 11/2/1 +f 11/2/1 13/90/1 15/3/1 +f 15/3/1 3/87/1 7/1/1 +f 17/6/1 18/91/1 19/92/1 +f 19/92/1 20/93/1 21/4/1 +f 21/4/1 22/94/1 23/95/1 +f 23/95/1 24/5/1 21/4/1 +f 17/6/1 19/92/1 21/4/1 +f 43/96/2 57/7/2 75/9/2 +f 46/97/2 58/10/2 72/12/2 +f 73/98/2 45/13/2 69/15/2 +f 57/99/2 45/16/2 76/18/2 +f 61/21/3 47/100/3 55/101/3 +f 49/102/3 51/103/3 53/104/3 +f 53/104/3 55/101/3 47/100/3 +f 63/19/3 65/105/3 42/20/3 +f 42/20/3 59/106/3 61/21/3 +f 47/100/3 49/102/3 53/104/3 +f 55/101/3 63/19/3 61/21/3 +f 67/107/2 44/22/2 70/24/2 +f 44/108/2 46/25/2 71/27/2 +f 68/109/2 67/28/2 69/30/2 +f 58/110/2 43/31/2 74/33/2 +f 99/21/4 87/100/4 95/101/4 +f 89/102/4 91/103/4 93/104/4 +f 93/104/4 95/101/4 87/100/4 +f 101/19/4 103/105/4 86/20/4 +f 86/20/4 97/106/4 99/21/4 +f 87/100/4 89/102/4 93/104/4 +f 95/101/4 101/19/4 99/21/4 +f 140/39/5 138/111/5 144/37/5 +f 139/112/5 145/113/5 144/37/5 +f 144/37/5 143/114/5 142/115/5 +f 142/115/5 141/38/5 144/37/5 +f 138/111/5 139/112/5 144/37/5 +f 321/116/6 322/117/6 317/42/6 +f 323/40/6 324/44/6 325/41/6 +f 317/42/6 322/117/6 323/40/6 +f 318/46/1 320/43/1 323/40/1 +f 318/40/7 315/117/7 316/42/7 +f 316/42/7 319/41/7 318/40/7 +f 315/117/7 314/116/7 316/42/7 +f 320/50/8 319/45/8 324/44/8 +f 314/118/2 315/40/2 321/47/2 +f 319/45/9 316/48/9 325/41/9 +f 315/52/4 318/44/4 322/51/4 +f 316/48/8 314/51/8 317/49/8 +f 333/119/6 334/120/6 329/42/6 +f 335/40/6 336/44/6 337/41/6 +f 329/42/6 334/120/6 335/40/6 +f 330/46/1 332/43/1 335/40/1 +f 330/40/7 327/120/7 328/42/7 +f 328/42/7 331/41/7 330/40/7 +f 327/120/7 326/119/7 328/42/7 +f 332/50/8 331/45/8 336/44/8 +f 326/118/2 327/40/2 333/47/2 +f 331/45/9 328/48/9 337/41/9 +f 327/54/4 330/44/4 334/53/4 +f 328/48/8 326/53/8 329/49/8 +f 338/121/8 339/55/8 340/57/8 +f 340/57/10 341/56/10 342/59/10 +f 342/59/8 343/58/8 344/61/8 +f 344/61/9 345/60/9 346/63/9 +f 348/56/6 340/122/6 342/64/6 +f 342/64/6 344/123/6 349/60/6 +s 1 +f 2/124/8 4/125/11 3/126/12 +f 4/125/11 6/127/6 5/128/13 +f 6/127/6 8/129/14 7/130/15 +f 8/129/14 10/131/4 9/132/16 +f 10/133/4 12/134/17 11/135/18 +f 12/134/17 14/136/7 13/137/19 +f 16/138/20 2/124/8 1/139/21 +f 14/136/7 16/138/20 15/140/22 +f 352/141/10 360/142/10 359/143/23 +f 23/144/19 357/145/7 358/146/20 +f 21/147/16 355/148/4 356/149/17 +f 19/150/13 353/151/6 354/152/14 +f 17/153/21 26/141/8 25/154/11 +f 24/155/22 358/146/20 26/141/8 +f 22/156/18 356/149/17 357/145/7 +f 20/157/15 354/152/14 355/158/4 +f 18/159/12 25/154/11 353/151/6 +f 39/160/7 67/28/24 68/109/25 +f 32/146/26 40/161/26 360/162/10 +f 30/149/27 364/163/27 365/164/28 +f 28/152/29 362/165/29 363/166/30 +f 27/151/31 351/154/23 359/167/23 +f 31/145/28 365/160/28 40/168/26 +f 29/148/30 363/169/30 364/170/27 +f 28/152/29 27/151/31 361/171/31 +f 366/161/20 68/14/25 45/13/32 +f 37/169/4 46/25/33 44/108/34 +f 34/142/8 45/16/32 57/99/35 +f 35/171/6 43/31/36 58/110/37 +f 47/172/38 48/173/39 50/174/40 +f 75/9/41 76/8/42 84/84/34 +f 64/175/43 66/176/44 65/177/45 +f 50/174/40 52/178/46 51/179/47 +f 33/167/11 57/7/35 43/96/36 +f 66/176/44 41/180/48 42/55/49 +f 52/178/46 54/181/50 53/182/51 +f 36/165/14 58/10/37 46/97/33 +f 60/183/52 62/184/53 61/185/54 +f 53/182/51 54/181/50 56/186/55 +f 41/187/48 60/183/52 59/188/56 +f 61/185/54 62/184/53 48/173/39 +f 39/164/7 38/163/17 44/22/34 +f 63/189/57 55/190/58 56/186/55 +f 72/12/59 74/11/60 82/67/25 +f 72/26/59 80/80/32 79/82/35 +f 70/29/61 78/69/36 77/68/37 +f 76/18/42 73/17/62 81/72/33 +f 75/32/41 83/74/24 82/76/25 +f 69/15/63 77/78/37 81/77/33 +f 71/23/64 79/36/35 78/35/36 +f 88/173/65 90/174/66 89/191/67 +f 102/175/68 104/176/69 103/177/70 +f 90/174/66 92/178/2 91/179/71 +f 104/176/69 85/180/1 86/55/72 +f 92/178/2 94/181/73 93/182/74 +f 98/183/75 100/184/76 99/185/77 +f 94/181/73 96/186/78 95/190/79 +f 85/187/1 98/183/75 97/188/80 +f 99/185/77 100/184/76 88/173/65 +f 95/190/79 96/186/78 102/175/68 +f 106/192/81 105/193/82 129/194/83 +f 111/195/84 123/196/85 105/197/82 +f 108/198/86 110/199/87 109/200/88 +f 125/201/89 129/202/83 124/203/90 +f 109/200/88 105/193/82 106/192/81 +f 110/199/87 112/204/91 111/195/84 +f 105/197/82 123/196/85 129/205/83 +f 117/206/92 126/207/93 125/208/89 +f 112/209/91 114/210/94 113/211/95 +f 129/212/83 123/213/85 124/214/90 +f 113/211/95 115/215/96 125/201/89 +f 114/210/94 116/216/97 115/215/96 +f 129/217/83 125/208/89 126/207/93 +f 119/218/98 121/219/99 128/220/100 +f 115/215/96 116/216/97 118/221/101 +f 121/219/99 107/222/102 106/223/81 +f 128/224/100 106/223/81 129/225/83 +f 118/221/101 120/226/103 119/218/98 +f 122/227/104 120/226/103 373/228/105 +f 121/219/99 122/227/104 108/198/86 +f 119/218/98 120/226/103 122/227/104 +f 127/229/106 129/230/83 126/231/93 +f 117/206/92 119/218/98 127/229/106 +f 111/232/84 113/211/95 124/214/90 +f 127/233/106 128/220/100 129/148/83 +f 136/228/7 144/234/107 145/235/108 +f 116/216/97 114/210/94 370/236/109 +f 122/227/104 374/237/110 368/238/111 +f 116/216/97 371/239/112 372/240/113 +f 110/199/87 367/241/114 369/242/115 +f 118/221/101 372/243/113 373/244/105 +f 110/199/87 108/198/86 368/245/111 +f 112/209/91 369/246/115 370/247/109 +f 134/239/9 142/248/116 143/249/117 +f 132/246/6 140/250/118 141/251/119 +f 131/245/120 139/252/121 138/253/122 +f 137/237/123 145/254/108 139/255/121 +f 135/243/124 143/256/117 144/257/107 +f 133/236/125 141/258/119 142/259/116 +f 132/242/6 130/241/126 138/260/122 +f 158/261/127 157/262/128 165/263/129 +f 146/264/130 147/265/131 155/266/132 +f 153/267/133 161/268/134 155/269/132 +f 151/270/135 159/271/136 160/272/137 +f 150/273/138 149/274/139 157/262/128 +f 148/275/140 146/264/130 154/276/141 +f 152/277/142 160/272/137 161/268/134 +f 150/273/138 158/261/127 159/271/136 +f 149/274/139 148/275/140 156/278/143 +f 169/279/144 177/280/145 171/281/146 +f 156/278/143 154/276/141 162/282/147 +f 160/272/137 168/283/148 169/279/144 +f 158/261/127 166/284/149 167/285/150 +f 157/262/128 156/278/143 164/286/151 +f 154/276/141 155/266/132 163/287/152 +f 161/268/134 169/279/144 163/288/152 +f 159/271/136 167/285/150 168/283/148 +f 174/289/153 182/290/154 183/291/155 +f 167/285/150 175/292/156 176/293/157 +f 166/284/149 165/263/129 173/294/158 +f 164/286/151 162/282/147 170/295/159 +f 168/283/148 176/293/157 177/280/145 +f 166/284/149 174/289/153 175/292/156 +f 165/263/129 164/286/151 172/296/160 +f 162/282/147 163/287/152 171/297/146 +f 184/298/161 192/299/162 193/300/163 +f 173/294/158 172/296/160 180/301/164 +f 170/295/159 171/297/146 179/302/165 +f 177/280/145 185/303/166 179/304/165 +f 175/292/156 183/291/155 184/298/161 +f 174/289/153 173/294/158 181/305/167 +f 172/296/160 170/295/159 178/306/168 +f 176/293/157 184/298/161 185/303/166 +f 191/307/169 199/308/170 200/309/171 +f 182/290/154 190/310/172 191/307/169 +f 181/305/167 180/301/164 188/311/173 +f 178/306/168 179/302/165 187/312/174 +f 185/303/166 193/300/163 187/313/174 +f 183/291/155 191/307/169 192/299/162 +f 182/290/154 181/305/167 189/314/175 +f 180/301/164 178/306/168 186/315/176 +f 194/316/177 195/317/178 203/318/179 +f 190/310/172 189/314/175 197/319/180 +f 188/311/173 186/315/176 194/316/177 +f 192/299/162 200/309/171 201/320/181 +f 190/310/172 198/321/182 199/308/170 +f 189/314/175 188/311/173 196/322/183 +f 186/315/176 187/312/174 195/317/178 +f 193/300/163 201/320/181 195/323/178 +f 208/324/184 216/325/185 217/326/186 +f 195/323/178 201/320/181 209/327/187 +f 199/308/170 207/328/188 208/324/184 +f 197/319/180 205/329/189 206/330/190 +f 196/322/183 194/316/177 202/331/191 +f 200/309/171 208/324/184 209/327/187 +f 198/321/182 206/330/190 207/328/188 +f 197/319/180 196/322/183 204/332/192 +f 212/333/193 220/334/194 221/335/195 +f 206/330/190 214/336/196 215/337/197 +f 205/329/189 204/332/192 212/333/193 +f 202/331/191 203/318/179 211/338/198 +f 203/339/179 209/327/187 217/326/186 +f 207/328/188 215/337/197 216/325/185 +f 205/329/189 213/340/199 214/336/196 +f 204/332/192 202/331/191 210/341/200 +f 225/342/201 219/343/202 211/344/198 +f 215/337/197 223/345/203 224/346/204 +f 213/340/199 221/335/195 222/347/205 +f 218/348/206 220/334/194 212/333/193 +f 224/346/204 225/342/201 217/326/186 +f 214/336/196 222/347/205 223/345/203 +f 221/335/195 220/334/194 228/349/207 +f 233/350/208 232/351/209 240/352/210 +f 218/348/206 219/353/202 227/354/211 +f 219/343/202 225/342/201 233/350/208 +f 223/345/203 231/355/212 232/351/209 +f 221/335/195 229/356/213 230/357/214 +f 220/334/194 218/348/206 226/358/215 +f 224/346/204 232/351/209 233/350/208 +f 222/347/205 230/357/214 231/355/212 +f 219/353/202 218/348/206 210/341/200 +f 230/357/214 238/359/216 239/360/217 +f 228/349/207 236/361/218 237/362/219 +f 226/358/215 227/354/211 235/363/220 +f 227/364/211 233/350/208 241/365/221 +f 231/355/212 239/360/217 240/352/210 +f 229/356/213 237/362/219 238/359/216 +f 228/349/207 226/358/215 234/366/222 +f 246/367/223 267/368/224 266/369/225 +f 255/370/226 263/371/227 264/372/228 +f 245/373/229 247/374/230 246/367/223 +f 248/375/231 268/376/232 267/377/224 +f 247/374/230 243/378/233 260/379/234 +f 247/374/230 249/380/235 248/375/231 +f 252/381/236 270/382/237 269/383/238 +f 253/384/239 262/385/240 263/386/227 +f 249/380/235 251/387/241 250/388/242 +f 256/389/243 258/390/244 273/391/245 +f 259/392/246 265/393/247 242/394/248 +f 251/387/241 253/395/239 252/381/236 +f 269/396/238 271/397/249 267/398/224 +f 251/387/241 261/399/250 262/400/240 +f 253/384/239 255/370/226 254/401/251 +f 249/380/235 260/402/234 261/403/250 +f 264/404/228 262/405/240 242/406/248 +f 255/370/226 257/407/252 256/389/243 +f 257/407/252 264/408/228 265/409/247 +f 259/392/246 245/373/229 244/410/253 +f 257/407/252 259/392/246 258/390/244 +f 254/401/251 271/411/249 270/412/237 +f 245/373/229 242/413/248 243/414/233 +f 250/388/242 269/415/238 268/416/232 +f 256/389/243 272/417/254 271/418/249 +f 244/410/253 266/419/225 273/420/245 +f 283/421/255 282/422/256 281/423/257 +f 285/424/258 284/425/259 278/426/260 +f 286/427/261 276/428/262 275/429/263 +f 288/430/264 274/431/265 280/432/266 +f 282/422/256 289/433/267 280/432/266 +f 284/425/259 283/421/255 279/434/268 +f 285/435/258 277/436/269 276/428/262 +f 279/434/268 312/437/6 311/438/270 +f 292/439/271 293/440/272 285/435/258 +f 295/441/273 283/421/255 284/425/259 +f 296/442/274 289/433/267 282/422/256 +f 296/442/274 290/443/275 288/430/264 +f 291/444/276 292/439/271 286/427/261 +f 294/445/277 284/425/259 285/424/258 +f 297/446/278 282/422/256 283/421/255 +f 287/447/279 275/429/263 274/431/265 +f 298/448/280 299/449/281 291/444/276 +f 304/450/282 297/446/278 295/441/273 +f 302/451/283 294/445/277 293/452/272 +f 299/449/281 300/453/284 292/439/271 +f 305/454/285 298/448/280 290/443/275 +f 305/454/285 296/442/274 297/446/278 +f 303/455/286 295/441/273 294/445/277 +f 300/453/284 301/456/287 293/440/272 +f 290/443/275 291/444/276 287/447/279 +f 277/436/269 310/457/288 309/458/289 +f 275/429/263 308/459/7 307/460/290 +f 281/423/257 313/461/291 312/437/6 +f 278/426/260 311/438/270 310/462/288 +f 276/428/262 309/458/289 308/459/7 +f 280/432/266 274/431/265 307/460/290 +f 280/432/266 306/463/292 313/461/291 +f 1/139/21 2/124/8 3/126/12 +f 3/126/12 4/125/11 5/128/13 +f 5/128/13 6/127/6 7/130/15 +f 7/130/15 8/129/14 9/132/16 +f 9/464/16 10/133/4 11/135/18 +f 11/135/18 12/134/17 13/137/19 +f 15/140/22 16/138/20 1/139/21 +f 13/137/19 14/136/7 15/140/22 +f 351/154/23 352/141/10 359/143/23 +f 24/155/22 23/144/19 358/146/20 +f 22/156/18 21/147/16 356/149/17 +f 20/157/15 19/150/13 354/152/14 +f 18/159/12 17/153/21 25/154/11 +f 17/153/21 24/155/22 26/141/8 +f 23/144/19 22/156/18 357/145/7 +f 21/465/16 20/157/15 355/158/4 +f 19/150/13 18/159/12 353/151/6 +f 366/168/20 39/160/7 68/109/25 +f 352/141/10 32/146/26 360/162/10 +f 31/145/28 30/149/27 365/164/28 +f 29/158/30 28/152/29 363/166/30 +f 361/466/31 27/151/31 359/167/23 +f 32/146/26 31/145/28 40/168/26 +f 30/149/27 29/148/30 364/170/27 +f 362/467/29 28/152/29 361/171/31 +f 34/162/8 366/161/20 45/13/32 +f 38/170/17 37/169/4 44/108/34 +f 33/143/11 34/142/8 57/99/35 +f 36/467/14 35/171/6 58/110/37 +f 49/191/293 47/172/38 50/174/40 +f 83/83/24 75/9/41 84/84/34 +f 63/189/57 64/175/43 65/177/45 +f 49/191/293 50/174/40 51/179/47 +f 35/466/6 33/167/11 43/96/36 +f 65/177/45 66/176/44 42/55/49 +f 51/179/47 52/178/46 53/182/51 +f 37/166/4 36/165/14 46/97/33 +f 59/188/56 60/183/52 61/185/54 +f 55/190/58 53/182/51 56/186/55 +f 42/468/49 41/187/48 59/188/56 +f 47/172/38 61/185/54 48/173/39 +f 67/107/24 39/164/7 44/22/34 +f 64/175/43 63/189/57 56/186/55 +f 80/66/32 72/12/59 82/67/25 +f 71/27/64 72/26/59 79/82/35 +f 69/30/63 70/29/61 77/68/37 +f 84/71/34 76/18/42 81/72/33 +f 74/33/60 75/32/41 82/76/25 +f 73/98/62 69/15/63 81/77/33 +f 70/24/61 71/23/64 78/35/36 +f 87/172/294 88/173/65 89/191/67 +f 101/189/295 102/175/68 103/177/70 +f 89/191/67 90/174/66 91/179/71 +f 103/177/70 104/176/69 86/55/72 +f 91/179/71 92/178/2 93/182/74 +f 97/188/80 98/183/75 99/185/77 +f 93/182/74 94/181/73 95/190/79 +f 86/468/72 85/187/1 97/188/80 +f 87/172/294 99/185/77 88/173/65 +f 101/189/295 95/190/79 102/175/68 +f 109/200/88 111/195/84 105/197/82 +f 107/222/102 108/198/86 109/200/88 +f 107/222/102 109/200/88 106/192/81 +f 109/200/88 110/199/87 111/195/84 +f 115/215/96 117/206/92 125/208/89 +f 111/232/84 112/209/91 113/211/95 +f 124/203/90 113/211/95 125/201/89 +f 113/211/95 114/210/94 115/215/96 +f 127/233/106 119/218/98 128/220/100 +f 117/206/92 115/215/96 118/221/101 +f 128/224/100 121/219/99 106/223/81 +f 117/206/92 118/221/101 119/218/98 +f 374/469/110 122/227/104 373/228/105 +f 107/222/102 121/219/99 108/198/86 +f 121/219/99 119/218/98 122/227/104 +f 126/231/93 117/206/92 127/229/106 +f 123/213/85 111/232/84 124/214/90 +f 137/469/123 136/228/7 145/235/108 +f 371/470/112 116/216/97 370/236/109 +f 108/198/86 122/227/104 368/238/111 +f 118/221/101 116/216/97 372/240/113 +f 112/204/91 110/199/87 369/242/115 +f 120/226/103 118/221/101 373/244/105 +f 367/471/114 110/199/87 368/245/111 +f 114/210/94 112/209/91 370/247/109 +f 135/240/124 134/239/9 143/249/117 +f 133/247/125 132/246/6 141/251/119 +f 130/471/126 131/245/120 138/253/122 +f 131/238/120 137/237/123 139/255/121 +f 136/244/7 135/243/124 144/257/107 +f 134/470/9 133/236/125 142/259/116 +f 140/472/118 132/242/6 138/260/122 +f 166/284/149 158/261/127 165/263/129 +f 154/276/141 146/264/130 155/266/132 +f 147/473/131 153/267/133 155/269/132 +f 152/277/142 151/270/135 160/272/137 +f 158/261/127 150/273/138 157/262/128 +f 156/278/143 148/275/140 154/276/141 +f 153/267/133 152/277/142 161/268/134 +f 151/270/135 150/273/138 159/271/136 +f 157/262/128 149/274/139 156/278/143 +f 163/288/152 169/279/144 171/281/146 +f 164/286/151 156/278/143 162/282/147 +f 161/268/134 160/272/137 169/279/144 +f 159/271/136 158/261/127 167/285/150 +f 165/263/129 157/262/128 164/286/151 +f 162/282/147 154/276/141 163/287/152 +f 155/269/132 161/268/134 163/288/152 +f 160/272/137 159/271/136 168/283/148 +f 175/292/156 174/289/153 183/291/155 +f 168/283/148 167/285/150 176/293/157 +f 174/289/153 166/284/149 173/294/158 +f 172/296/160 164/286/151 170/295/159 +f 169/279/144 168/283/148 177/280/145 +f 167/285/150 166/284/149 175/292/156 +f 173/294/158 165/263/129 172/296/160 +f 170/295/159 162/282/147 171/297/146 +f 185/303/166 184/298/161 193/300/163 +f 181/305/167 173/294/158 180/301/164 +f 178/306/168 170/295/159 179/302/165 +f 171/281/146 177/280/145 179/304/165 +f 176/293/157 175/292/156 184/298/161 +f 182/290/154 174/289/153 181/305/167 +f 180/301/164 172/296/160 178/306/168 +f 177/280/145 176/293/157 185/303/166 +f 192/299/162 191/307/169 200/309/171 +f 183/291/155 182/290/154 191/307/169 +f 189/314/175 181/305/167 188/311/173 +f 186/315/176 178/306/168 187/312/174 +f 179/304/165 185/303/166 187/313/174 +f 184/298/161 183/291/155 192/299/162 +f 190/310/172 182/290/154 189/314/175 +f 188/311/173 180/301/164 186/315/176 +f 202/331/191 194/316/177 203/318/179 +f 198/321/182 190/310/172 197/319/180 +f 196/322/183 188/311/173 194/316/177 +f 193/300/163 192/299/162 201/320/181 +f 191/307/169 190/310/172 199/308/170 +f 197/319/180 189/314/175 196/322/183 +f 194/316/177 186/315/176 195/317/178 +f 187/313/174 193/300/163 195/323/178 +f 209/327/187 208/324/184 217/326/186 +f 203/339/179 195/323/178 209/327/187 +f 200/309/171 199/308/170 208/324/184 +f 198/321/182 197/319/180 206/330/190 +f 204/332/192 196/322/183 202/331/191 +f 201/320/181 200/309/171 209/327/187 +f 199/308/170 198/321/182 207/328/188 +f 205/329/189 197/319/180 204/332/192 +f 213/340/199 212/333/193 221/335/195 +f 207/328/188 206/330/190 215/337/197 +f 213/340/199 205/329/189 212/333/193 +f 210/341/200 202/331/191 211/338/198 +f 211/344/198 203/339/179 217/326/186 +f 208/324/184 207/328/188 216/325/185 +f 206/330/190 205/329/189 214/336/196 +f 212/333/193 204/332/192 210/341/200 +f 217/326/186 225/342/201 211/344/198 +f 216/325/185 215/337/197 224/346/204 +f 214/336/196 213/340/199 222/347/205 +f 210/341/200 218/348/206 212/333/193 +f 216/325/185 224/346/204 217/326/186 +f 215/337/197 214/336/196 223/345/203 +f 229/356/213 221/335/195 228/349/207 +f 241/365/221 233/350/208 240/352/210 +f 226/358/215 218/348/206 227/354/211 +f 227/364/211 219/343/202 233/350/208 +f 224/346/204 223/345/203 232/351/209 +f 222/347/205 221/335/195 230/357/214 +f 228/349/207 220/334/194 226/358/215 +f 225/342/201 224/346/204 233/350/208 +f 223/345/203 222/347/205 231/355/212 +f 211/338/198 219/353/202 210/341/200 +f 231/355/212 230/357/214 239/360/217 +f 229/356/213 228/349/207 237/362/219 +f 234/366/222 226/358/215 235/363/220 +f 235/474/220 227/364/211 241/365/221 +f 232/351/209 231/355/212 240/352/210 +f 230/357/214 229/356/213 238/359/216 +f 236/361/218 228/349/207 234/366/222 +f 244/410/253 246/367/223 266/369/225 +f 257/407/252 255/370/226 264/372/228 +f 244/410/253 245/373/229 246/367/223 +f 246/367/223 248/375/231 267/377/224 +f 249/380/235 247/374/230 260/379/234 +f 246/367/223 247/374/230 248/375/231 +f 250/388/242 252/381/236 269/383/238 +f 255/370/226 253/384/239 263/386/227 +f 248/375/231 249/380/235 250/388/242 +f 272/475/254 256/389/243 273/391/245 +f 245/373/229 259/392/246 242/394/248 +f 250/388/242 251/387/241 252/381/236 +f 273/476/245 266/405/225 267/398/224 +f 267/398/224 268/477/232 269/396/238 +f 269/396/238 270/406/237 271/397/249 +f 271/397/249 272/404/254 273/476/245 +f 273/476/245 267/398/224 271/397/249 +f 253/395/239 251/387/241 262/400/240 +f 252/478/236 253/384/239 254/401/251 +f 251/387/241 249/380/235 261/403/250 +f 260/477/234 243/396/233 242/406/248 +f 242/406/248 265/397/247 264/404/228 +f 264/404/228 263/476/227 262/405/240 +f 262/405/240 261/398/250 260/477/234 +f 260/477/234 242/406/248 262/405/240 +f 254/401/251 255/370/226 256/389/243 +f 259/392/246 257/407/252 265/409/247 +f 258/390/244 259/392/246 244/410/253 +f 256/389/243 257/407/252 258/390/244 +f 252/478/236 254/401/251 270/412/237 +f 247/374/230 245/373/229 243/414/233 +f 248/375/231 250/388/242 268/416/232 +f 254/401/251 256/389/243 271/418/249 +f 258/390/244 244/410/253 273/420/245 +f 279/434/268 283/421/255 281/423/257 +f 277/479/269 285/424/258 278/426/260 +f 287/447/279 286/427/261 275/429/263 +f 289/433/267 288/430/264 280/432/266 +f 281/423/257 282/422/256 280/432/266 +f 278/426/260 284/425/259 279/434/268 +f 286/427/261 285/435/258 276/428/262 +f 278/426/260 279/434/268 311/438/270 +f 286/427/261 292/439/271 285/435/258 +f 294/445/277 295/441/273 284/425/259 +f 297/446/278 296/442/274 282/422/256 +f 289/433/267 296/442/274 288/430/264 +f 287/447/279 291/444/276 286/427/261 +f 293/452/272 294/445/277 285/424/258 +f 295/441/273 297/446/278 283/421/255 +f 288/430/264 287/447/279 274/431/265 +f 290/443/275 298/448/280 291/444/276 +f 303/455/286 304/450/282 295/441/273 +f 301/480/287 302/451/283 293/452/272 +f 291/444/276 299/449/281 292/439/271 +f 296/442/274 305/454/285 290/443/275 +f 304/450/282 305/454/285 297/446/278 +f 302/451/283 303/455/286 294/445/277 +f 292/439/271 300/453/284 293/440/272 +f 288/430/264 290/443/275 287/447/279 +f 276/428/262 277/436/269 309/458/289 +f 274/431/265 275/429/263 307/460/290 +f 279/434/268 281/423/257 312/437/6 +f 277/479/269 278/426/260 310/462/288 +f 275/429/263 276/428/262 308/459/7 +f 306/463/292 280/432/266 307/460/290 +f 281/423/257 280/432/266 313/461/291 diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index f8b799efa..8a3d931fe 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -121,6 +121,7 @@ "weapon.deagleShoot": {"category": "player", "sounds": [{"name": "weapon/deagleShoot", "stream": false}]}, "weapon.tesla": {"category": "block", "sounds": ["weapon/tesla1", "weapon/tesla2", "weapon/tesla3", "weapon/tesla4"]}, "weapon.teslaShoot": {"category": "player", "sounds": [{"name": "weapon/teslaShoot", "stream": false}]}, + "weapon.flamerReload": {"category": "player", "sounds": [{"name": "weapon/flamerReload", "stream": false}]}, "weapon.reloadTurret": {"category": "player", "sounds": [{"name": "weapon/reloadTurret", "stream": false}]}, "weapon.switchmode1": {"category": "player", "sounds": [{"name": "weapon/switchmode1", "stream": false}]}, diff --git a/assets/hbm/sounds/weapon/flamerReload.ogg b/assets/hbm/sounds/weapon/flamerReload.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c4199a7754667acea5957997596b8cf884962bd7 GIT binary patch literal 20694 zcmagFWmsG>(=fcamg4Tkt++#R*M-I1o#Mp`#ogTtEbi{o;#%CD;!?c$w{7qH`JVU3 zd%d}Gawe0>B$-SybFx`wOG`BXG~hqs*pA)h57>mcgbGCpQ z3zYJon*S62)P#cME-&@>&=z0+SHOVz$A$?~s%8DribdJklHAVPMB^`Wa#?bARyHnH zHdZcjy6w!M|B3YQ5PA~GqvmMg>S63`E~Mt@;7P9L=;mNXF6HQKX->||!b%1qFn2I@ zG&6S=QZRNm<>F=Ga-c&{_Qp1j&i`nI{!3)K$J30ulLc#sxPbns@ z0R<2N0H|E>8Kl52xIyTIVk!hX#9|Y+Cj?>&7y-oW3c91zE^!ovd17I@bYFhNfdGFh zgo=K`4vG*(qzIxG(n<)V6@oxvd=Q-V9~`>ae-lYQD@ds*B1zB=D=%u`Pu}0eL6Ur0 z=n&iidC*(2mW;p(J_s=tmyAjvJl_Fv&^IQ!h=4xU7Th3MF1o0IUDl!5KoqgCj6hkg z--JPyqMva8wLv8+6Bh_CI)oo2B?{>QJYNfT(5Pq$VGsi!B3TeQrx^|)4gko@r;Es^ zLq;d8Lk0{10O%sB*n>{Q!|}w!wZtfhZ?xe604M+=gia=+P$p(qCV@&jf%X zVp1Kn&}6^zzoKr6Ilm@|W(fkRjt0K@W*GUZqEz-nSx`!Z0CZKNP(?U_~Mf%o01AIIW^u<}u z$P6X_#7X{VY5)M`OX4XElK($m5Km%It71YT^9(!JjG83K&3qxnO}p7wcQIK1&UXzG zf4doLrI>5~AMxMNA)605MA`ohgnj_uWsL8DDhd6+!-PyI;3Ky5UwxCUqmrMd8lPrT zzT#BI5>myMoZ$pb;pnUK*sF4z&v5ChaqELL>@`#Db(`E)Qq5QHd^i4A)JOO`L`(pH zKj9sH0wsOI4sQ&VtccYR13(1+&x(xLriX0N_d`?Mx*Nq>=2Z z(Elqa&TuMXK?IBRXTkOm2Td@S#K|Htr$x~9Q5^t95$F#lSOfCzF!=(r2C@0X;s#P= zgVO%2D_DRkWL>chvGox_%!+{dP1^~XG1Ci;2lT0S)_v3&gYAiX)NHPM z3(*s|4GzU6T+rOSBB;>~l3h!-UrYTTR-grSkS;f9u8B+4RbLfkt_|VrZobe2(wuiw z#MWO>Q(VFUfl@$AbLOBFH$zvDzNY@d0!Z`LcWK^Nf8Na){}1PdIX95Io8i3uMyi{> z7R}#Y>4PA>;(~C7^vWK>O7lN`1})vV&AHj@V@WRj;VcPC)`!&HNH+i5=Rc)tZf^Qb z_NHm}x_C;EK0`{4ll9k9-B$1&^zWj_Iqg?m_4Rr5H5cslc|x=od=1q>hMML}JQ~`! zkabw=wt+7NnsZZg4>oi&H*9e;)OOI{?`Vp)dmLdq?&5foay8^lnQNl2c0l=Fas2z+ z8B_Z&MxmJow;7Pzn!3JWs=Y3OgTC}%rrN(1HE)A;7ovCOeJu&}Q>#Ym-dEIBpf;Zq zeLs8rR=3>bG}aVjdpuJ6C})0`Z2rl9Mbko`cC5{wxV@U=voXXL^!UR7MEsG=^Zu$w z761?!=MqMb7;geGe)PfUzzF=nI6hixQzbci>P8hg8w^u)hQUI!30Wj?1GbzsebTfJ zJ#~|cTx4aVj+$+42v7$F+@K|A&DN-4YFjxF#)g#c0%YGWOakgKf*Vr!q`@w6Km-bK z0x*&qjL*1VX!b+(ki1YG7+zY4ZAwQykN}LL1{3N=FgN47pg~vx!)qZ0k@SPOrV|*Z zDiBtX#_7Qg8ge$3&Ps9+R%4>F5LWWC^cEAcN92XGqSAj@$mIM!3orwv22oym{?EBx-Ar{&wu&8ev5FAng3jjg^P-9HBb1XB;Y(`_KJ#*;F zipr0g-f8F1MwFG6HQ9US&_mvBRaLrwF>O`l$2r!2F-*r@kXmJBRg9xuj%8(#ofhI& z{K_mlYJ*_vPEpE_N9veXnjDC}AGJX|jwbu#5hn=IV^=M)bW_!18|%}+N65Y_*b4L9UM)|W9nnAiaKyHQ(93l^b*i-tTBp}2j!4m@j&6Vlw~Q&Hrlx1ps290f2A0t>l={{>c&Nj~wZXhyzjizbCo;kfoyrL&TaD zm;jVZb^*%CmNw4+(bhlGvp@%0GY=5jj*~+q8pU=C(I4gk9hXTVh|Whg&ab*avc%q# zqKJvW^2R;lAhfbZ9oq@M-{cCmwey6o=wkQ){~3t*y^OveA<{~ke);bNAObV~{xyge=Hx7qq`FDgWP6L<-k`SuuzY z`qx+e@gJ}C>mTAj{wox~9}W#-YPc(6J_0#$wf?BmA3rf**_nxrLxyjUi5r#zt`#Ih z-``*%Mewr)giKM$X{N+xR@kTGQVN*?KmepV1rz`t5!nLZ-wX9^pZow8F@_re5Dgnc z4-X06{FR4EPFV!)-v=A42Pmm&k!f%7XMxfC(GM~9h+^mgTErqyNW8pTA++nif{3#6 z)YOm2A$$Pz1Y*E%0DxD*KP+sIm7SBDmtRm= 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_mox_fuel.png b/assets/hbm/textures/blocks/block_mox_fuel.png new file mode 100644 index 0000000000000000000000000000000000000000..c78c0242e199dfed279b0ad338a428195778d58b GIT binary patch literal 626 zcmV-&0*(ENP)#l;d>84PsxRfF{h)BmSb+w(GB!Z-na2H7{+*`cdaNg^1stGU$SUf7R_dp z!^00$s}%r*5ZY-t98oF>qDW!@Qc8`}1?k|d6ivQlhe zmc_Phf*|;75>X_z9EM}6)e6@uK4#}}qMZSbJ|4|U@>`gG3mHk`I3|u`27?olBtZzl z!)F<$Wm$T=M#B-cdX3R=gyDBcnUFHU@LL7;&rauDm`@+%74-XG@*brGzf&L#z}mk} zk|YJ^e33ThpuymTFdXw^Ws{T%3#2R%p!mestJ~UnxtvdIy=StRrYV5_2eT2emQO-T zi4cMsHwzU>Dao=7-t9Q5(P*efqoLkz=eOfH>QB4lILdJxjhWeh0UtpYDL1UQYXATM M07*qoM6N<$f-{U7H2?qr literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_red_phosphorus.png b/assets/hbm/textures/blocks/block_red_phosphorus.png new file mode 100644 index 0000000000000000000000000000000000000000..831040c12be328c072d5288dd1cf9c0a74cd0209 GIT binary patch literal 642 zcmV-|0)737P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0vAa{K~y+TC6d{0 z(?Ar4XSK&mo29gcE=U!k@Bb9saR)-;0#OywB{Xg0#2!y(Y(A@&BE@t5Isaz)V{zU} z*)+|&qS&PLFYG_p)oYBE5X~@bggjTWHztqqUaFH6)lJx^l*+QajVa5rq9{12rTjCf zoidW zXN#IE$@|Uvsq4DygPLX71^t|cU@atX=seFKeZOj31u3zBOI7`|*+O+Er1#z!(@6C@ z43KE8|893DF6XlRQXMmxNuktqnQ;gqmKD}thH)4Ml;HlfuJ4-$T7^GUxs^vB+Q_0a$D6%6+KHZ|luz;lPb$iNcT8Jak@uU0&RG z`=uT!t5b@g0O6GeXogr=@!+EvBQesqdfG>=rV>E&ew=5dL9%3pJOV%)0MxEyA~%JM zgK^3Zq3hgnhX61~M~m6~DD-&1_f(}Av8v9b;La&wIJfNmFCS6zR$S{l^uWV44U0m2=N>O@<0=S*P48;YsY6d cGsZdhA8rMGy4vzzs{jB107*qoM6N<$f=*T_Q2+n{ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_sulfur.png b/assets/hbm/textures/blocks/block_sulfur.png index a8e669d9780d9480e833b082644ff7069d8d5568..fc498b67abf15867ab2610e4f6029e2ed304220f 100644 GIT binary patch delta 526 zcmV+p0`dLs1i=K583+OZ005AYXf}}{D1W~I01m$aI0aKA0005jNkl2#R7k+%@K)UN4!i>wNQfJ9LtCV_P`9OBL*f`8%HbOiDx=M0 zcKrYU&djd&>*pJhLy@~8Gm)jpRHPG$M7BqNBx>`~uTDR{hVZH`-;R4(*PA#934hw5 z&(et}cZl8fm3V$$peW1b(nks0&<$mIQLpPO=Rn`|HzW@aKC#-qZ@ZQ)gg8ndM2LZ7 zucRqs_P1kk*y~HB?!U*4+rm@`+oxHy~i^& zY>OEb+bIebt+F6|+X}bHy6XGUflfUL6o9hVO=(4Q*5B^#gZ*bu?E~`KkLUAGuLfxQR(qSK75bxA zdie0}J!mQ+X|?ewNz>Z_Ku{TOVES-MpkwuXhR6)irbs(Kj$(ajk~m1nvZo83+ad001BJ|6!3KD1XBM01m?e$8V@)0005zNklJP{lR?t+5G;C`RouIKO4U^4}YiT z9f;?wH=yV-2G^W_2kaBLPc}#d1)1XgW3*HAMz{mF*b|6YW4R=42(B-e3av!izXYMe zaRyieB&`A=i2};f3MRWEc!z;w4pcxQ(itkEY_f|$Wd#%j$`F)1Dd_s(h^z!M4$%P- zC#WQBm8Il1-e1;R_caP)PcnO33V#*^FG!;P1gTLI)q~=I14+*WS;YWyu92^%CKc>k z&L^pf5TrU)f(VAC{0Gg2`R^0{3tzxWN|40VI1xbBWk{~nao6fq`j<)ms8~Lu2-Iy6 z$|(Q<002ovPDHLkV1fVu01 diff --git a/assets/hbm/textures/blocks/block_white_phosphorus.png b/assets/hbm/textures/blocks/block_white_phosphorus.png new file mode 100644 index 0000000000000000000000000000000000000000..35fb54248dddea30f607a9fb1e879c09e3672766 GIT binary patch literal 562 zcmV-20?qx2P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0mn&1K~y+TJ(AmM z+dvdW=g8=SE)SLqCWW{U@gFp8zq{Yi$EHugU}7uK8eEyyQX0uZ7vyw}56MOh`^@Zf zm($--s-s+y9*Fx>C=hr_8MEl%bUXe9|<9a6>{vw@A~UekFubH6f*@cIfgjim`eX4sv0BLD`Wk#Nk55`OaK$t^xXaE2J07*qoM6N<$g3Y}6 A4gdfE literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/mercury.png b/assets/hbm/textures/blocks/mercury.png new file mode 100644 index 0000000000000000000000000000000000000000..972cf9f920112f2f423708b25fd83a8026e9e16a GIT binary patch literal 10289 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 BgZTge literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/particle/particle_base.png b/assets/hbm/textures/blocks/particle/particle_base.png new file mode 100644 index 0000000000000000000000000000000000000000..e3015051d3b2147854dc17eb2e48c4ccded6c05d GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vfk^O{Z3}b$HCrvHrQl@b0I}M?@HIvRt^9vtDg8)6RXpG1t9! Yt>ubellpnfET9n#p00i_>zopr0BZ;;p8x;= literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/gui/fluids2.png b/assets/hbm/textures/gui/fluids2.png index a63500e11fe494b1acb4276e89758e246a59f47b..4eae091a81ad264ad7d4145b1be8047939bee58a 100755 GIT binary patch literal 12637 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/gui/gunBombSchematic.png b/assets/hbm/textures/gui/weapon/gunBombSchematic.png similarity index 100% rename from assets/hbm/textures/gui/gunBombSchematic.png rename to assets/hbm/textures/gui/weapon/gunBombSchematic.png diff --git a/assets/hbm/textures/gui/gunBombSchematicSmall.png b/assets/hbm/textures/gui/weapon/gunBombSchematicSmall.png similarity index 100% rename from assets/hbm/textures/gui/gunBombSchematicSmall.png rename to assets/hbm/textures/gui/weapon/gunBombSchematicSmall.png diff --git a/assets/hbm/textures/gui/ivyMikeSchematic.png b/assets/hbm/textures/gui/weapon/ivyMikeSchematic.png similarity index 100% rename from assets/hbm/textures/gui/ivyMikeSchematic.png rename to assets/hbm/textures/gui/weapon/ivyMikeSchematic.png diff --git a/assets/hbm/textures/gui/lilBoySchematic.png b/assets/hbm/textures/gui/weapon/lilBoySchematic.png similarity index 100% rename from assets/hbm/textures/gui/lilBoySchematic.png rename to assets/hbm/textures/gui/weapon/lilBoySchematic.png diff --git a/assets/hbm/textures/gui/n2Schematic.png b/assets/hbm/textures/gui/weapon/n2Schematic.png similarity index 100% rename from assets/hbm/textures/gui/n2Schematic.png rename to assets/hbm/textures/gui/weapon/n2Schematic.png diff --git a/assets/hbm/textures/gui/soliniumSchematic.png b/assets/hbm/textures/gui/weapon/soliniumSchematic.png similarity index 100% rename from assets/hbm/textures/gui/soliniumSchematic.png rename to assets/hbm/textures/gui/weapon/soliniumSchematic.png diff --git a/assets/hbm/textures/gui/tsarBombaSchematic.png b/assets/hbm/textures/gui/weapon/tsarBombaSchematic.png similarity index 100% rename from assets/hbm/textures/gui/tsarBombaSchematic.png rename to assets/hbm/textures/gui/weapon/tsarBombaSchematic.png diff --git a/assets/hbm/textures/items/ammo_357_ender.png b/assets/hbm/textures/items/ammo_357_ender.png new file mode 100644 index 0000000000000000000000000000000000000000..4ab1d41bbb79228d66d851d313f3e64e81aacfdc GIT binary patch literal 316 zcmV-C0mJ@@P)Y5Qd*~?KI>HEtN&WLb|m|z)HE+PPX*tT%W&SW0T(I zIZArdw8UOd_-@2&PVae8l){vnP4;X(c*5({OOs&#fbIGg3HqZ zK&K=CD5K@z`bw11;+zvethLev*@>r&mXmkz-s7AjgaAO6WtH=F`-#??IF517k>@!f zgi1)$fjU9j{@poA8$_(NlBTHuk|asvVQV2k`JJDbcObtpmyo}hEA)g^ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_fuel.png b/assets/hbm/textures/items/ammo_fuel.png new file mode 100644 index 0000000000000000000000000000000000000000..d4bf581a46a6dba476f6bcf5ca9e049dd960f83b GIT binary patch literal 302 zcmV+}0nz@6P)1p=6hz;eG)CaUx_}C|+X%K6_zbCigA_i2@C|YX*FHiB zZ0%Bw3x>_*=ne`b{AP>qxK1tdt zB~o}FUFR1>C4v^BlK(^gl;rY(RQ9hkxN{C#Ckbx31Yn+J+`Q*-KC`K7)4Rf5J20PB z#W4ind!4&p##GsXp{lyr&il?A|Ejcg9-zi_@%07*qoM6N<$f^MLG A+yDRo literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_fuel_gas.png b/assets/hbm/textures/items/ammo_fuel_gas.png new file mode 100644 index 0000000000000000000000000000000000000000..6c11f21851425e1e7d586cb64b5846378a78e66c GIT binary patch literal 281 zcmV+!0p|XRP)2|;kt+B0Q&BXPmp^4ab)EH;szbJ$E4%X*uY{e zxS`6Kq*mH70@U51c8pynuOQaJhD2(OAHRRyPQIB}ka`)Q7;M@O+lO8XC_(_(_cE>e fsXpx#puf)@oK1bk)|0hB00000NkvXXu0mjffA4mX literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_fuel_napalm.png b/assets/hbm/textures/items/ammo_fuel_napalm.png new file mode 100644 index 0000000000000000000000000000000000000000..44b359f1ed66889ba992d1f00d300de89ab1ac95 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf}{g8i@A#H6bJH8f3_0Q4$@r>mdKI;Vst04h^?`2YX_ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_fuel_phosphorus.png b/assets/hbm/textures/items/ammo_fuel_phosphorus.png new file mode 100644 index 0000000000000000000000000000000000000000..bb94f482a80c09579132acfe3ae60ed674f76cdd GIT binary patch literal 413 zcmV;O0b>4%P)Nae)XnCM9KXy5ll@&E1*d^*iHXk_00000NkvXX Hu0mjfJ~pjh literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/chem_icon_SATURN.png b/assets/hbm/textures/items/chem_icon_SATURN.png new file mode 100644 index 0000000000000000000000000000000000000000..37ae4408e3a1c7963bc0499972feb9c3c6f7ff8a GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfp$Ca{tqh*zn*#2po=Se8t4a-Zbs#@#Bj>1oHkUY*@g^Ew1PC(D;zV ziF18kQRh!Iuqv>}IXg3lnLc4;XJ>EXl0iXhqB!2;OQb$4nuFf3k00004XF*Lt006O%3;baP00009a7bBm000id z000id0mpBsWB>pFwMj%lR5(wyl2HuY2ku#1#Y+2R$WS|5rAUOIpV$Va)u71l&D^` z#agCcVbspBK+d_kfW(Bq;lu~dU z#}NDf5$>a6Z(l?pA^_l{F_sSA#NQqCn>cQdyWHn~K?<%3~%cJ}{gMKz?9@C+|1 z|C@&mcJDihp~^F>kDv>pD5BhT9UQ-o1{FX2F}Nji9Eb8S41bh$6Ee6b5<<|L8OM<_ z8nKBX-h@ok6xz0>CJONYPt{F=AW$oSJkMcS7I?)1#c>=%UDwpqxfUTPbX^z9vIM$; z@B7rqvW!gbi5Sx~!LlqUisIKG3`5ldNRs5H2*Ih$JkOUmKu5&$JZPE*`o5A?SdksO$w07Eg119$e z=lqtxm1w*!s2{{}3_%cZdXXdv3}PUc9!I1#vP46PhJOWROBH;|&g(Kjn@Kw78o}(ZL zCqPtSsz^4~21vVg%d)3h@oV4vTKIQ$UH91U#iv+Gc{n7Afkja`&@>HFO2%Z})bv z$M-Cw)jEjblz|W5wk?PcBkX4$jETao17BdT+V*Df4F07*qoM6N<$g0Na>mH+?% delta 175 zcmV;g08sym0^0$QG=GvwL_t(Ijop(m3Iib!MPEX&5G|~%y};c6HXgxZ#X<{HEhJ=2 zNMW-drWrqLTRp@WCqVBVfKrO;y=%>s(zMnBV2lC4Ij54S0Xb*9 z_naXBwbm7^P5`{sir}#d5fP5#ptVNtoiT>$Q@`+!t{RYY{wU~e8{=}7MP$B?aka`n dNzR+trYGE$Kru<8TRs2)002ovPDHLkV1k^NO(y^V diff --git a/assets/hbm/textures/items/neptunium_ingot.png b/assets/hbm/textures/items/neptunium_ingot.png deleted file mode 100644 index 367137caded789019f9bb3fecdd2756dd84348ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 395 zcmV;60d)R}P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0U$|4K~y+TrIWFW zgFq05$IDfML^gumU2P*)Ng-I=y@OycK9mn)ca>GF>;xY`5JUvQDzJAmw-YwGM8f5R zVRm-*|7S%tq?GUsFDn0=hYfb`JBgvnGpmoF3!*5Z+;trszm5hKKm0McC2|~x@-PgP zbrUkUClW%?niM>c(-hjar6vmT08iCTf*?>UfIQD(Sr&N30>yD0LtWR@ z)VUTRD0E#H%CZEyf$#g&$g+$~?ui)FG{LegD2n3OAPhs*0!WhNrU=2Q%skJRH$X?k z^E_yp2Kv6I8sUj7VouY^pto@NJV-u-231wjblgL(MQTZ$zXLY0Z5yU(S`}S@1|0j3 pz1(a!6#D*JtbWRm@Z{eJ@C_Fvyw|4t_@Mv*002ovPDHLkV1lcqo@xL9 diff --git a/assets/hbm/textures/items/new_magnetized_tungsten.png b/assets/hbm/textures/items/new_magnetized_tungsten.png deleted file mode 100644 index 235eef712a7ee5de613699195551b22b2c3d7c57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 507 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0gy>VK~y+T)lxl6 z!%!4Gks|#Fw4`aHMIjAs{ThUVV37{GNq<2HDdOPZB>n(LCs79n2d5797x)K61P3?8 zp#-TPgK0}YLM*NL%zaHmg$}Mg@Hmfq?>YD8=3%VBFuTN@yNd~jN24#`!elZDMO6_9 z1pb(eG8lAXBp~5JIt^Ktc`_D@L6}={P5K5SI%P5$#N!%LsT6|25F|$#l~lxgHRwGbxPfmu%M%9|SGc)6L3U?(D2kmydUu|PxNJ78gkFR>23yEzA xB;-5{8j(h~ec#bN*e diff --git a/assets/hbm/textures/items/new_titanium.png b/assets/hbm/textures/items/new_titanium.png deleted file mode 100644 index 00a1c483e6b4d7a294e47000707fcf9647aea0ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DXgMg=tV~BW>}P=xX}+aM`ExHOU)RSrnuy zEHdSBcABxQ(!kQVLilK*Pv7GY3*Y}{7v6cKmYIp6G57W!v1OT$Z2FYH*7~2`Brzl5 z?53Vpj+ZPh3NC?1CaQ2Qd*J!bV#VuO=DXKDcABfeaiwd8j`z9f^iMYZZHW)UBVw;V zZMHdo^T}inhw{^#R^&!M;{3p{YSkhWUw>DI*w)H5Xus3if{J15UbY-D7)8qUP zs!|%)d{fryb#<3c6g$sp)_j*meATyz0<}vw>s1UhXFUsAvRRs8M$XHiCB+6myS3j3^P6>iC{fqTCLiR3L`LB1m0teH(+}oEn z>GAu`PFAYoW}}!yY~f8(afjN@G6@IoV9Ove{GSc$Sja zq?T)?Pvvtw&Ti^Cwdu)Hl|~cat6RDmTIM|uylk?&@%64f8eL7k_a-yAG_8A`GV595 zgWv!5RZe*Rb18>H=#1wxf9Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0r*KoK~y+TZBxHb zR6!8__Sbt)xC68RO^`z(2^9pjm4bi35DWhc8~+odjj_?h+QJy4g@yKLiv}))oL0mj z$A!DSx8uy-?c?t7OXkh)%zU#uGy9OBl&Z9~w$hUjyVkmjkB~rP%y5UXwZJ(yTn&)O zk|;t5V;P4K`y_c3mpBrfvL@#pQV737VK8rOM4NVCII)ng`WEA2u%S%0nX8SJ=d=F1mi5<$2ZXxjkB0^-z zLX3BHMsKEX;JK>f5uM;xZ3b&u4G+j-g+rYk^e82eo9od=^g|y%&W_Qt3MG|zeSU(% zcd%v){0tsNzlX&Ts$Qf-5pw!_HAjnlp|7(`^etPU59S)Za98Ou9EtyXex2T8idJ25 z(NOuU^O&B@F5n||@JvrbpZ-CscaA2Xy63ytHaWI}#!d#|6PI)!2A`>mBjHE(2$r}6t1LYAu>*&CQO9pSIdJ+f zDsXQCtTxyWK5~_G^=2SC1S$C^vMg%xi8MxDW<^N2Z8A#4NsPw={{S1Ly9fp!F)IK7002ovPDHLkV1nP54MqR} literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/sulfur.png b/assets/hbm/textures/items/sulfur.png index 6cc9b6c70c2376c06e6ce21672440acde024efa7..0ce895125487d1aa07afbfa506e695bb33e73d4a 100644 GIT binary patch delta 302 zcmV+}0nz@L0{Q}wReu2wNklK#{c#G>R1h7 zg3=fOq}kptj^XRa7YskXJ%x&50!Ane2Oy1~-m^0J#z(?6AKP_{!N^*M;oQ+D41t9= zQS_j=0A{OGfFr}^h07VZ`6U=QxTL|FIk>r?s!#!j7m%I&^ncD_h#^4DKfZor;1m4K zfF2fb=YVWCv3FzGw_!in1t5(u!$6wvT)WQz3loqUm{-6q0BP1S)n@qc`ZiY00-~x6 zDq4ytu7d%%3t&zI`4^-CrWxjZ5cu`;1H+XwUl?>uc)&Es6&SIA>_?DcAOO+`0w7H= z0P_Nv0BJ&x9w!h$4=`+M$Oh delta 203 zcmV;+05t#l0+<4jReu1GNklsSPg+00Mm$!VH)we z0wlOH-gA+NbOBNT!bHe6f-p=Rs*EszX&_l6 zodE*_00|=Fg6H20C;$Ke07*qoM6N<$f&c&j5p+dZbWLw$Wo!UXbZBLAFGFZ$b9B+c FCtz`wOECZd diff --git a/assets/hbm/textures/models/weapons/flamer.png b/assets/hbm/textures/models/weapons/flamer.png new file mode 100644 index 0000000000000000000000000000000000000000..57f0cb286ba35342be4854357276b5684e476ed2 GIT binary patch literal 4712 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 JPDHLkV1i6FIEDZK diff --git a/com/hbm/blocks/BlockDummyable.java b/com/hbm/blocks/BlockDummyable.java new file mode 100644 index 000000000..1515bdbdf --- /dev/null +++ b/com/hbm/blocks/BlockDummyable.java @@ -0,0 +1,246 @@ +package com.hbm.blocks; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.handler.ThreeInts; + +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.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public abstract class BlockDummyable extends BlockContainer { + + public BlockDummyable(Material mat) { + super(mat); + this.setTickRandomly(true); + } + + /// BLOCK METADATA /// + + //0-5 dummy rotation (for dummy neighbor checks) + //6-11 extra (6 rotations with flag, for pipe connectors and the like) + //12-15 block rotation (for rendering the TE) + + //meta offset from dummy to TE rotation + public static final int offset = 10; + //meta offset from dummy to extra rotation + public static final int extra = 6; + + public static boolean safeRem = false; + + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + + super.onNeighborBlockChange(world, x, y, z, block); + + if(world.isRemote) + return; + + int metadata = world.getBlockMetadata(x, y, z); + + //if it's an extra, remove the extra-ness + if(metadata >= extra) + metadata -= extra; + + ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite(); + Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + + if(b != this) { + world.setBlockToAir(x, y, z); + } + } + + public void updateTick(World world, int x, int y, int z, Random rand) { + + super.updateTick(world, x, y, z, rand); + + if(world.isRemote) + return; + + int metadata = world.getBlockMetadata(x, y, z); + + //if it's an extra, remove the extra-ness + if(metadata >= extra) + metadata -= extra; + + ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite(); + Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + + if(b != this) { + world.setBlockToAir(x, y, z); + } + + } + + public int[] findCore(World world, int x, int y, int z) { + positions.clear(); + return findCoreRec(world, x, y, z); + } + + List positions = new ArrayList(); + public int[] findCoreRec(World world, int x, int y, int z) { + + ThreeInts pos = new ThreeInts(x, y, z); + + int metadata = world.getBlockMetadata(x, y, z); + + //if it's an extra, remove the extra-ness + if(metadata >= extra) + metadata -= extra; + + //if the block matches and the orientation is "UNKNOWN", it's the core + if(world.getBlock(x, y, z) == this && ForgeDirection.getOrientation(metadata) == ForgeDirection.UNKNOWN) + return new int[] { x, y, z }; + + if(positions.contains(pos)) + return null; + + ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite(); + + Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + + if(b != this) { + return null; + } + + positions.add(pos); + + return findCoreRec(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + + if(!(player instanceof EntityPlayer)) + return; + + EntityPlayer pl = (EntityPlayer) player; + + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + int o = -getOffset(); + + ForgeDirection dir = ForgeDirection.NORTH; + + if(i == 0) + { + dir = ForgeDirection.getOrientation(2); + } + if(i == 1) + { + dir = ForgeDirection.getOrientation(5); + } + if(i == 2) + { + dir = ForgeDirection.getOrientation(3); + } + if(i == 3) + { + dir = ForgeDirection.getOrientation(4); + } + + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(), x, y, z, dir)) { + world.setBlockToAir(x, y, z); + + if(!pl.capabilities.isCreativeMode) { + ItemStack stack = pl.inventory.mainInventory[pl.inventory.currentItem]; + Item item = Item.getItemFromBlock(this); + + if(stack == null) { + pl.inventory.mainInventory[pl.inventory.currentItem] = new ItemStack(this); + } else { + if(stack.getItem() != item || stack.stackSize == stack.getMaxStackSize()) { + pl.inventory.addItemStackToInventory(new ItemStack(this)); + } else { + pl.getHeldItem().stackSize++; + } + } + } + + return; + } + + world.setBlock(x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, this, dir.ordinal() + offset, 3); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(), this, dir); + world.scheduleBlockUpdate(x, y, z, this, 1); + world.scheduleBlockUpdate(x, y, z, this, 2); + + super.onBlockPlacedBy(world, x, y, z, player, itemStack); + } + + //"upgrades" regular dummy blocks to ones with the extra flag + public void makeExtra(World world, int x, int y, int z) { + + if(world.getBlock(x, y, z) != this) + return; + + int meta = world.getBlockMetadata(x, y, z); + + if(meta > 5) + return; + + //world.setBlockMetadataWithNotify(x, y, z, meta + extra, 3); + this.safeRem = true; + world.setBlock(x, y, z, this, meta + extra, 3); + this.safeRem = false; + + } + + //checks if the dummy metadata is within the extra range + public boolean hasExtra(int meta) { + + return meta > 5 && meta < 12; + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block b, int i) + { + if(i >= 12) { + //ForgeDirection d = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z) - offset); + //MultiblockHandler.emptySpace(world, x, y, z, getDimensions(), this, d); + } else if(!safeRem) { + + if(i >= extra) + i -= extra; + + ForgeDirection dir = ForgeDirection.getOrientation(i).getOpposite(); + int[] pos = findCore(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + + if(pos != null) { + + //ForgeDirection d = ForgeDirection.getOrientation(world.getBlockMetadata(pos[0], pos[1], pos[2]) - offset); + world.setBlockToAir(pos[0], pos[1], pos[2]); + } + } + + + super.breakBlock(world, x, y, z, b, i); + } + + @Override + public int getRenderType(){ + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + public abstract int[] getDimensions(); + public abstract int getOffset(); + +} diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 386a9e1db..f42d091dd 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -99,6 +99,7 @@ public class ModBlocks { public static Block block_u238; public static Block block_uranium_fuel; public static Block block_neptunium; + public static Block block_mox_fuel; public static Block block_plutonium; public static Block block_pu238; public static Block block_pu239; @@ -131,10 +132,13 @@ public class ModBlocks { public static Block block_desh; public static Block block_starmetal; public static Block block_yellowcake; + public static Block block_insulator; public static Block block_fiberglass; public static Block block_asbestos; public static Block block_cobalt; public static Block block_lithium; + public static Block block_white_phosphorus; + public static Block block_red_phosphorus; public static Block block_australium; public static Block block_weidanium; @@ -833,6 +837,7 @@ public class ModBlocks { block_thorium = new BlockGeneric(Material.iron).setBlockName("block_thorium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_thorium"); block_thorium_fuel = new BlockGeneric(Material.iron).setBlockName("block_thorium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_thorium_fuel"); block_neptunium = new BlockOre(Material.iron, 10F, 100F).setBlockName("block_neptunium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_neptunium"); + block_mox_fuel = new BlockOre(Material.iron, 15F, 150F).setBlockName("block_mox_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_mox_fuel"); block_plutonium = new BlockOre(Material.iron, 15F, 150F).setBlockName("block_plutonium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_plutonium"); block_pu238 = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_pu238").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_pu238"); block_pu239 = new BlockOre(Material.iron, 15F, 150F).setBlockName("block_pu239").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_pu239"); @@ -857,18 +862,21 @@ public class ModBlocks { block_solinium = new BlockGeneric(Material.iron).setBlockName("block_solinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_solinium"); block_schrabidium_fuel = new BlockOre(Material.iron, 20F, 250F).setBlockName("block_schrabidium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium_fuel"); block_euphemium = new BlockGeneric(Material.iron).setBlockName("block_euphemium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_euphemium"); - block_schrabidium_cluster = new BlockGenericPillar(Material.rock).setBlockName("block_schrabidium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F); - block_euphemium_cluster = new BlockGenericPillar(Material.rock).setBlockName("block_euphemium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F); + block_schrabidium_cluster = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":block_schrabidium_cluster_top").setBlockName("block_schrabidium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium_cluster_side"); + block_euphemium_cluster = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":block_euphemium_cluster_top").setBlockName("block_euphemium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_euphemium_cluster_side"); block_advanced_alloy = new BlockGeneric(Material.iron).setBlockName("block_advanced_alloy").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_advanced_alloy"); block_magnetized_tungsten = new BlockGeneric(Material.iron).setBlockName("block_magnetized_tungsten").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(35.0F).setBlockTextureName(RefStrings.MODID + ":block_magnetized_tungsten"); block_combine_steel = new BlockGeneric(Material.iron).setBlockName("block_combine_steel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_combine_steel"); block_desh = new BlockGeneric(Material.iron).setBlockName("block_desh").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_desh"); block_starmetal = new BlockGeneric(Material.iron).setBlockName("block_starmetal").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_starmetal"); block_yellowcake = new BlockFallingRad(Material.sand, 0.5F, 3F).setBlockName("block_yellowcake").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSand).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_yellowcake"); - block_fiberglass = new BlockReactor(Material.cloth).setBlockName("block_fiberglass").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F); + block_insulator = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_insulator_top").setBlockName("block_insulator").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_insulator_side"); + block_fiberglass = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_fiberglass_top").setBlockName("block_fiberglass").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_fiberglass_side"); block_asbestos = new BlockGeneric(Material.cloth).setBlockName("block_asbestos").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_asbestos"); block_cobalt = new BlockGeneric(Material.iron).setBlockName("block_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_cobalt"); block_lithium = new BlockLithium(Material.iron).setBlockName("block_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lithium"); + block_white_phosphorus = new BlockGeneric(Material.rock).setBlockName("block_white_phosphorus").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_white_phosphorus"); + block_red_phosphorus = new BlockFalling(Material.sand).setStepSound(Block.soundTypeSand).setBlockName("block_red_phosphorus").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_red_phosphorus"); block_australium = new BlockGeneric(Material.iron).setBlockName("block_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_australium"); block_weidanium = new BlockGeneric(Material.iron).setBlockName("block_weidanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_weidanium"); @@ -921,9 +929,9 @@ public class ModBlocks { meteor_brick_mossy = new BlockGeneric(Material.rock).setBlockName("meteor_brick_mossy").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_mossy"); meteor_brick_cracked = new BlockGeneric(Material.rock).setBlockName("meteor_brick_cracked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_cracked"); meteor_brick_chiseled = new BlockGeneric(Material.rock).setBlockName("meteor_brick_chiseled").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_chiseled"); - meteor_pillar = new BlockGenericPillar(Material.rock).setBlockName("meteor_pillar").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F); + meteor_pillar = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":meteor_pillar_top").setBlockName("meteor_pillar").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_pillar_top"); meteor_spawner = new BlockCybercrab(Material.rock).setBlockName("meteor_spawner").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F); - meteor_battery = new BlockReactor(Material.rock).setBlockName("meteor_battery").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F); + meteor_battery = new BlockPillar(Material.rock, RefStrings.MODID + ":meteor_power").setBlockName("meteor_battery").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_spawner_side"); tape_recorder = new DecoTapeRecorder(Material.rock).setBlockName("tape_recorder").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_tape_recorder"); steel_poles = new DecoSteelPoles(Material.rock).setBlockName("steel_poles").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_beam"); @@ -1103,39 +1111,39 @@ public class ModBlocks { factory_titanium_hull = new BlockGeneric(Material.iron).setBlockName("factory_titanium_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull"); factory_titanium_furnace = new FactoryHatch(Material.iron).setBlockName("factory_titanium_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_furnace"); - factory_titanium_conductor = new BlockReactor(Material.iron).setBlockName("factory_titanium_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_conductor"); + factory_titanium_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":factory_titanium_conductor").setBlockName("factory_titanium_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull"); factory_titanium_core = new FactoryCoreTitanium(Material.iron).setBlockName("factory_titanium_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_core"); factory_advanced_hull = new BlockGeneric(Material.iron).setBlockName("factory_advanced_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_hull"); factory_advanced_furnace = new FactoryHatch(Material.iron).setBlockName("factory_advanced_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_furnace"); - factory_advanced_conductor = new BlockReactor(Material.iron).setBlockName("factory_advanced_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_conductor"); + factory_advanced_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":factory_advanced_conductor").setBlockName("factory_advanced_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_hull"); factory_advanced_core = new FactoryCoreAdvanced(Material.iron).setBlockName("factory_advanced_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_core"); - reactor_element = new BlockReactor(Material.iron).setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side"); - reactor_control = new BlockReactor(Material.iron).setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_control_side"); + reactor_element = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_element_top", RefStrings.MODID + ":reactor_element_base").setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side"); + reactor_control = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_control_top").setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_control_side"); reactor_hatch = new ReactorHatch(Material.iron).setBlockName("reactor_hatch").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); reactor_ejector = new BlockRotatable(Material.iron).setBlockName("reactor_ejector").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); reactor_inserter = new BlockRotatable(Material.iron).setBlockName("reactor_inserter").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); - reactor_conductor = new BlockReactor(Material.iron).setBlockName("reactor_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_conductor_side"); + reactor_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_conductor_top").setBlockName("reactor_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_conductor_side"); reactor_computer = new ReactorCore(Material.iron).setBlockName("reactor_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_computer"); - fusion_conductor = new BlockReactor(Material.iron).setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor_side"); - fusion_center = new BlockReactor(Material.iron).setBlockName("fusion_center").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_center_side"); - fusion_motor = new BlockReactor(Material.iron).setBlockName("fusion_motor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_motor_side"); - fusion_heater = new BlockReactor(Material.iron).setBlockName("fusion_heater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_heater_side"); + fusion_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":block_steel").setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor_side_alt3"); + fusion_center = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_center_top_alt").setBlockName("fusion_center").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_center_side_alt"); + fusion_motor = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_motor_top_alt").setBlockName("fusion_motor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_motor_side_alt"); + fusion_heater = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_heater_top").setBlockName("fusion_heater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_heater_side"); fusion_hatch = new FusionHatch(Material.iron).setBlockName("fusion_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_hatch"); fusion_core = new FusionCore(Material.iron).setBlockName("fusion_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_core_side"); plasma = new BlockPlasma(Material.iron).setBlockName("plasma").setHardness(5.0F).setResistance(6000.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":plasma"); - watz_element = new BlockReactor(Material.iron).setBlockName("watz_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_element"); - watz_control = new BlockReactor(Material.iron).setBlockName("watz_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_control"); + watz_element = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_element_top").setBlockName("watz_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_element_side"); + watz_control = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_control_top").setBlockName("watz_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_control_side"); watz_cooler = new BlockGeneric(Material.iron).setBlockName("watz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_cooler"); watz_end = new BlockGeneric(Material.iron).setBlockName("watz_end").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_end"); watz_hatch = new WatzHatch(Material.iron).setBlockName("watz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_hatch"); - watz_conductor = new BlockReactor(Material.iron).setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_conductor"); + watz_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_conductor_top").setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_conductor_side"); watz_core = new WatzCore(Material.iron).setBlockName("watz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_computer"); - fwatz_conductor = new BlockReactor(Material.iron).setBlockName("fwatz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_conductor"); - fwatz_cooler = new BlockReactor(Material.iron).setBlockName("fwatz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_cooler"); + fwatz_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":block_combine_steel").setBlockName("fwatz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_conductor_side"); + fwatz_cooler = new BlockPillar(Material.iron, RefStrings.MODID + ":fwatz_cooler_top").setBlockName("fwatz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_cooler"); fwatz_tank = new ReinforcedBlock(Material.iron).setBlockName("fwatz_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_tank"); fwatz_scaffold = new BlockGeneric(Material.iron).setBlockName("fwatz_scaffold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_scaffold"); fwatz_hatch = new FWatzHatch(Material.iron).setBlockName("fwatz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_computer"); @@ -1432,6 +1440,7 @@ public class ModBlocks { GameRegistry.registerBlock(block_u238, block_u238.getUnlocalizedName()); GameRegistry.registerBlock(block_uranium_fuel, block_uranium_fuel.getUnlocalizedName()); GameRegistry.registerBlock(block_neptunium, block_neptunium.getUnlocalizedName()); + GameRegistry.registerBlock(block_mox_fuel, block_mox_fuel.getUnlocalizedName()); GameRegistry.registerBlock(block_plutonium, block_plutonium.getUnlocalizedName()); GameRegistry.registerBlock(block_pu238, block_pu238.getUnlocalizedName()); GameRegistry.registerBlock(block_pu239, block_pu239.getUnlocalizedName()); @@ -1453,9 +1462,12 @@ public class ModBlocks { GameRegistry.registerBlock(block_steel, block_steel.getUnlocalizedName()); GameRegistry.registerBlock(block_lead, block_lead.getUnlocalizedName()); GameRegistry.registerBlock(block_lithium, ItemBlockLore.class, block_lithium.getUnlocalizedName()); + GameRegistry.registerBlock(block_white_phosphorus, block_white_phosphorus.getUnlocalizedName()); + GameRegistry.registerBlock(block_red_phosphorus, block_red_phosphorus.getUnlocalizedName()); GameRegistry.registerBlock(block_yellowcake, block_yellowcake.getUnlocalizedName()); GameRegistry.registerBlock(block_scrap, block_scrap.getUnlocalizedName()); GameRegistry.registerBlock(block_electrical_scrap, block_electrical_scrap.getUnlocalizedName()); + GameRegistry.registerBlock(block_insulator, block_insulator.getUnlocalizedName()); GameRegistry.registerBlock(block_fiberglass, block_fiberglass.getUnlocalizedName()); GameRegistry.registerBlock(block_asbestos, block_asbestos.getUnlocalizedName()); GameRegistry.registerBlock(block_trinitite, block_trinitite.getUnlocalizedName()); diff --git a/com/hbm/blocks/fluid/MudBlock.java b/com/hbm/blocks/fluid/MudBlock.java index 57ed6b74d..782c448d2 100644 --- a/com/hbm/blocks/fluid/MudBlock.java +++ b/com/hbm/blocks/fluid/MudBlock.java @@ -3,7 +3,7 @@ package com.hbm.blocks.fluid; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.lib.Library; +import com.hbm.handler.ArmorUtil; import com.hbm.lib.ModDamageSource; import com.hbm.lib.RefStrings; import cpw.mods.fml.relauncher.Side; @@ -73,19 +73,8 @@ public class MudBlock extends BlockFluidClassic { @Override public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { entity.setInWeb(); - // if(entity instanceof EntityLivingBase) - // { - // entity.attackEntityFrom(ModDamageSource.mudPoisoning, 8); - // } - 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 EntityPlayer && ArmorUtil.checkForHazmat((EntityPlayer) entity)) { } else { entity.attackEntityFrom(ModDamageSource.mudPoisoning, 8); } } diff --git a/com/hbm/blocks/generic/BarbedWire.java b/com/hbm/blocks/generic/BarbedWire.java index 85ce87ee7..d63095f98 100644 --- a/com/hbm/blocks/generic/BarbedWire.java +++ b/com/hbm/blocks/generic/BarbedWire.java @@ -1,7 +1,7 @@ package com.hbm.blocks.generic; import com.hbm.blocks.ModBlocks; -import com.hbm.lib.Library; +import com.hbm.handler.ArmorUtil; import com.hbm.lib.ModDamageSource; import com.hbm.potion.HbmPotion; @@ -49,10 +49,10 @@ public class BarbedWire extends Block { ent.attackEntityFrom(DamageSource.cactus, 2.0F); if(ent instanceof EntityPlayer) { - Library.damageSuit((EntityPlayer)ent, 0, 1); - Library.damageSuit((EntityPlayer)ent, 1, 1); - Library.damageSuit((EntityPlayer)ent, 2, 1); - Library.damageSuit((EntityPlayer)ent, 3, 1); + ArmorUtil.damageSuit((EntityPlayer)ent, 0, 1); + ArmorUtil.damageSuit((EntityPlayer)ent, 1, 1); + ArmorUtil.damageSuit((EntityPlayer)ent, 2, 1); + ArmorUtil.damageSuit((EntityPlayer)ent, 3, 1); } } diff --git a/com/hbm/blocks/generic/BlockClorine.java b/com/hbm/blocks/generic/BlockClorine.java index eaa11a604..39dcb2511 100644 --- a/com/hbm/blocks/generic/BlockClorine.java +++ b/com/hbm/blocks/generic/BlockClorine.java @@ -2,8 +2,7 @@ package com.hbm.blocks.generic; import java.util.Random; -import com.hbm.lib.Library; - +import com.hbm.handler.ArmorUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -68,10 +67,10 @@ public class BlockClorine extends Block { @Override public void onEntityCollidedWithBlock(World world, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity) { - if (entity instanceof EntityPlayer && Library.checkForGasMask((EntityPlayer) entity)) { + if (entity instanceof EntityPlayer && ArmorUtil.checkForGasMask((EntityPlayer) entity)) { if(world.rand.nextInt(25) == 0) - Library.damageSuit((EntityPlayer)entity, 3, world.rand.nextInt(2)); + ArmorUtil.damageSuit((EntityPlayer)entity, 3, world.rand.nextInt(2)); } else if (entity instanceof EntityLivingBase) { ((EntityLivingBase) entity) diff --git a/com/hbm/blocks/generic/BlockGenericPillar.java b/com/hbm/blocks/generic/BlockGenericPillar.java deleted file mode 100644 index ec15da2e5..000000000 --- a/com/hbm/blocks/generic/BlockGenericPillar.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.hbm.blocks.generic; - -import com.hbm.blocks.ModBlocks; -import com.hbm.lib.RefStrings; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.BlockRotatedPillar; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.util.IIcon; - -public class BlockGenericPillar extends BlockRotatedPillar { - - @SideOnly(Side.CLIENT) - protected IIcon iconSide; - - public BlockGenericPillar(Material p_i45425_1_) { - super(p_i45425_1_); - } - - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister reg) - { - if(this == ModBlocks.meteor_pillar) { - this.field_150164_N = reg.registerIcon(RefStrings.MODID + ":meteor_pillar_top"); - this.iconSide = reg.registerIcon(RefStrings.MODID + ":meteor_pillar"); - } - if(this == ModBlocks.block_schrabidium_cluster) { - this.field_150164_N = reg.registerIcon(RefStrings.MODID + ":block_schrabidium_cluster_top"); - this.iconSide = reg.registerIcon(RefStrings.MODID + ":block_schrabidium_cluster_side"); - } - if(this == ModBlocks.block_euphemium_cluster) { - this.field_150164_N = reg.registerIcon(RefStrings.MODID + ":block_euphemium_cluster_top"); - this.iconSide = reg.registerIcon(RefStrings.MODID + ":block_euphemium_cluster_side"); - } - } - - @Override - protected IIcon getSideIcon(int p_150163_1_) { - return iconSide; - } - -} diff --git a/com/hbm/blocks/generic/BlockOre.java b/com/hbm/blocks/generic/BlockOre.java index ce9eef296..5a4346d31 100644 --- a/com/hbm/blocks/generic/BlockOre.java +++ b/com/hbm/blocks/generic/BlockOre.java @@ -74,7 +74,7 @@ public class BlockOre extends Block { } if(this == ModBlocks.ore_nether_fire) { - return rand.nextInt(3) == 0 ? ModItems.ingot_phosphorus : Items.blaze_powder; + return rand.nextInt(10) == 0 ? ModItems.ingot_phosphorus : ModItems.powder_fire; } if(this == ModBlocks.block_meteor) { diff --git a/com/hbm/blocks/generic/BlockRotatablePillar.java b/com/hbm/blocks/generic/BlockRotatablePillar.java new file mode 100644 index 000000000..8d31b49c8 --- /dev/null +++ b/com/hbm/blocks/generic/BlockRotatablePillar.java @@ -0,0 +1,34 @@ +package com.hbm.blocks.generic; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockRotatedPillar; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; + +public class BlockRotatablePillar extends BlockRotatedPillar { + + @SideOnly(Side.CLIENT) + protected IIcon iconSide; + + private String textureTop; + + public BlockRotatablePillar(Material mat, String top) { + super(mat); + textureTop = top; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + + this.field_150164_N = reg.registerIcon(textureTop); + this.iconSide = reg.registerIcon(this.getTextureName()); + } + + @Override + protected IIcon getSideIcon(int p_150163_1_) { + return iconSide; + } + +} diff --git a/com/hbm/blocks/machine/BlockPillar.java b/com/hbm/blocks/machine/BlockPillar.java new file mode 100644 index 000000000..5f8a62a05 --- /dev/null +++ b/com/hbm/blocks/machine/BlockPillar.java @@ -0,0 +1,88 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.ModBlocks; +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.entity.player.EntityPlayer; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockPillar extends Block { + + @SideOnly(Side.CLIENT) + private IIcon iconTop; + @SideOnly(Side.CLIENT) + private IIcon iconAlt; + + private String textureTop = ""; + private String textureAlt = ""; + + public BlockPillar(Material mat, String top) { + super(mat); + textureTop = top; + } + + public BlockPillar(Material mat, String top, String bottom) { + this(mat, top); + textureAlt = bottom; + } + + public Block setBlockTextureName(String name) { + + if(textureTop.isEmpty()) + textureTop = name; + + if(textureAlt.isEmpty()) + textureAlt = name; + + this.textureName = name; + + return this; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + + this.iconAlt = iconRegister.registerIcon(textureAlt.isEmpty() ? RefStrings.MODID + ":code" : textureAlt); + this.iconTop = iconRegister.registerIcon(textureTop); + this.blockIcon = iconRegister.registerIcon(this.textureName); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + + if(this == ModBlocks.reactor_element && metadata == 1) + return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.iconAlt); + + return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); + } + + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(this != ModBlocks.reactor_element) + return super.onBlockActivated(world, x, y, z, player, side, hitX, hitY, hitZ); + + if(player.isSneaking()) + { + if(world.getBlockMetadata(x, y, z) == 0) { + world.setBlockMetadataWithNotify(x, y, z, 1, 3); + } else { + world.setBlockMetadataWithNotify(x, y, z, 0, 3); + } + + return true; + } + + return false; + } + +} diff --git a/com/hbm/blocks/machine/BlockReactor.java b/com/hbm/blocks/machine/BlockReactor.java deleted file mode 100644 index ec79b307a..000000000 --- a/com/hbm/blocks/machine/BlockReactor.java +++ /dev/null @@ -1,146 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.blocks.ModBlocks; -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.entity.player.EntityPlayer; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -public class BlockReactor extends Block { - - @SideOnly(Side.CLIENT) - private IIcon iconTop; - @SideOnly(Side.CLIENT) - private IIcon iconAlt; - - public BlockReactor(Material p_i45394_1_) { - super(p_i45394_1_); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - - this.iconAlt = iconRegister.registerIcon(RefStrings.MODID + ":code"); - - if(this == ModBlocks.reactor_conductor) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":reactor_conductor_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":reactor_conductor_side"); - } - if(this == ModBlocks.reactor_control) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":reactor_control_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":reactor_control_side"); - } - if(this == ModBlocks.reactor_element) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":reactor_element_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":reactor_element_side"); - this.iconAlt = iconRegister.registerIcon(RefStrings.MODID + ":reactor_element_base"); - } - if(this == ModBlocks.fusion_conductor) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + /*":fusion_conductor_top_alt"*/":block_steel"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + /*":fusion_conductor_alt"*/":fusion_conductor_side_alt3"); - } - if(this == ModBlocks.fusion_center) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fusion_center_top_alt"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_center_side_alt"); - } - if(this == ModBlocks.fusion_motor) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fusion_motor_top_alt"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_motor_side_alt"); - } - if(this == ModBlocks.fusion_heater) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fusion_heater_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_heater_side"); - } - if(this == ModBlocks.factory_titanium_conductor) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":factory_titanium_conductor"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":factory_titanium_hull"); - } - if(this == ModBlocks.factory_advanced_conductor) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":factory_advanced_conductor"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":factory_advanced_hull"); - } - if(this == ModBlocks.watz_element) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":watz_element_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":watz_element_side"); - } - if(this == ModBlocks.watz_control) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":watz_control_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":watz_control_side"); - } - if(this == ModBlocks.watz_conductor) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":watz_conductor_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":watz_conductor_side"); - } - if(this == ModBlocks.fwatz_conductor) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":block_combine_steel"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_conductor_side"); - } - if(this == ModBlocks.fwatz_cooler) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_cooler_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_cooler"); - } - if(this == ModBlocks.block_fiberglass) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":block_fiberglass_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":block_fiberglass_side"); - } - if(this == ModBlocks.meteor_battery) - { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":meteor_power"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":meteor_spawner_side"); - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - - if(this == ModBlocks.reactor_element && metadata == 1) - return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.iconAlt); - - return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); - } - - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - - if(this != ModBlocks.reactor_element) - return super.onBlockActivated(world, x, y, z, player, side, hitX, hitY, hitZ); - - if(player.isSneaking()) - { - if(world.getBlockMetadata(x, y, z) == 0) { - world.setBlockMetadataWithNotify(x, y, z, 1, 3); - } else { - world.setBlockMetadataWithNotify(x, y, z, 0, 3); - } - - return true; - } - - return false; - } - -} diff --git a/com/hbm/calc/UnionOfTileEntitiesAndBooleans.java b/com/hbm/calc/UnionOfTileEntitiesAndBooleans.java index 1264563bb..f9e1afbe0 100644 --- a/com/hbm/calc/UnionOfTileEntitiesAndBooleans.java +++ b/com/hbm/calc/UnionOfTileEntitiesAndBooleans.java @@ -1,7 +1,9 @@ package com.hbm.calc; import com.hbm.interfaces.ISource; +import com.hbm.interfaces.Spaghetti; +@Spaghetti("i deserve to be shot for this one") public class UnionOfTileEntitiesAndBooleans { public UnionOfTileEntitiesAndBooleans(ISource tileentity, boolean bool) diff --git a/com/hbm/entity/missile/EntityCarrier.java b/com/hbm/entity/missile/EntityCarrier.java index b32dfb282..405b6dbc7 100644 --- a/com/hbm/entity/missile/EntityCarrier.java +++ b/com/hbm/entity/missile/EntityCarrier.java @@ -3,7 +3,7 @@ package com.hbm.entity.missile; import com.hbm.entity.particle.EntityGasFlameFX; import com.hbm.explosion.ExplosionLarge; import com.hbm.items.ModItems; -import com.hbm.items.tool.ItemSatChip; +import com.hbm.items.machine.ItemSatChip; import com.hbm.main.MainRegistry; import com.hbm.saveddata.satellites.Satellite; diff --git a/com/hbm/entity/missile/EntitySoyuz.java b/com/hbm/entity/missile/EntitySoyuz.java index b5feb8f6a..70b2fd4f4 100644 --- a/com/hbm/entity/missile/EntitySoyuz.java +++ b/com/hbm/entity/missile/EntitySoyuz.java @@ -4,7 +4,7 @@ import java.util.List; import com.hbm.explosion.ExplosionLarge; import com.hbm.items.ModItems; -import com.hbm.items.tool.ItemSatChip; +import com.hbm.items.machine.ItemSatChip; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; import com.hbm.saveddata.satellites.Satellite; diff --git a/com/hbm/entity/projectile/EntityBullet.java b/com/hbm/entity/projectile/EntityBullet.java index ee6458cd7..1ffd09246 100644 --- a/com/hbm/entity/projectile/EntityBullet.java +++ b/com/hbm/entity/projectile/EntityBullet.java @@ -35,8 +35,8 @@ import com.hbm.blocks.generic.RedBarrel; import com.hbm.entity.grenade.EntityGrenadeTau; import com.hbm.entity.mob.EntityNuclearCreeper; import com.hbm.entity.particle.EntityBSmokeFX; +import com.hbm.handler.ArmorUtil; import com.hbm.items.ModItems; -import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; import cpw.mods.fml.relauncher.ReflectionHelper; @@ -497,7 +497,7 @@ public class EntityBullet extends Entity implements IProjectile { if (rad) { if (entitylivingbase instanceof EntityPlayer - && Library.checkForHazmat((EntityPlayer) entitylivingbase)) { + && ArmorUtil.checkForHazmat((EntityPlayer) entitylivingbase)) { } else if (entitylivingbase instanceof EntityCreeper) { EntityNuclearCreeper creep = new EntityNuclearCreeper(this.worldObj); creep.setLocationAndAngles(entitylivingbase.posX, entitylivingbase.posY, entitylivingbase.posZ, diff --git a/com/hbm/entity/projectile/EntityBulletBase.java b/com/hbm/entity/projectile/EntityBulletBase.java index 52fd752b6..0c8ea5f79 100644 --- a/com/hbm/entity/projectile/EntityBulletBase.java +++ b/com/hbm/entity/projectile/EntityBulletBase.java @@ -16,9 +16,9 @@ import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNukeGeneric; import com.hbm.explosion.ExplosionParticle; import com.hbm.explosion.ExplosionParticleB; +import com.hbm.handler.ArmorUtil; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; -import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; import com.hbm.potion.HbmPotion; @@ -351,8 +351,18 @@ public class EntityBulletBase extends Entity implements IProjectile { this.setDead(); if(worldObj.isRemote && !config.vPFX.isEmpty()) { - for (i = 0; i < 8; ++i) { - this.worldObj.spawnParticle(config.vPFX, this.posX - this.motionX * i / 1.0D, this.posY - this.motionY * i / 1.0D, this.posZ - this.motionZ * i / 1.0D, 0, 0, 0); + + double motion = Vec3.createVectorHelper(motionX, motionY, motionZ).lengthVector(); + + for (i = 0; i < motion * 2; ++i) { + + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setString("type", "vanillaExt"); + nbt.setString("mode", config.vPFX); + nbt.setDouble("posX", this.posX - this.motionX * i / 1.0D); + nbt.setDouble("posY", this.posY - this.motionY * i / 1.0D); + nbt.setDouble("posZ", this.posZ - this.motionZ * i / 1.0D); + MainRegistry.proxy.effectNT(nbt); } } @@ -504,10 +514,10 @@ public class EntityBulletBase extends Entity implements IProjectile { } if(config.caustic > 0 && e instanceof EntityPlayer){ - Library.damageSuit((EntityPlayer)e, 0, config.caustic); - Library.damageSuit((EntityPlayer)e, 1, config.caustic); - Library.damageSuit((EntityPlayer)e, 2, config.caustic); - Library.damageSuit((EntityPlayer)e, 3, config.caustic); + ArmorUtil.damageSuit((EntityPlayer)e, 0, config.caustic); + ArmorUtil.damageSuit((EntityPlayer)e, 1, config.caustic); + ArmorUtil.damageSuit((EntityPlayer)e, 2, config.caustic); + ArmorUtil.damageSuit((EntityPlayer)e, 3, config.caustic); } } diff --git a/com/hbm/explosion/ExplosionChaos.java b/com/hbm/explosion/ExplosionChaos.java index 5d5919988..9be533a7e 100644 --- a/com/hbm/explosion/ExplosionChaos.java +++ b/com/hbm/explosion/ExplosionChaos.java @@ -20,7 +20,7 @@ import com.hbm.entity.projectile.EntityRainbow; import com.hbm.entity.projectile.EntityRocket; import com.hbm.entity.projectile.EntityRubble; import com.hbm.entity.projectile.EntitySchrab; -import com.hbm.lib.Library; +import com.hbm.handler.ArmorUtil; import com.hbm.lib.ModDamageSource; import com.hbm.potion.HbmPotion; @@ -636,8 +636,8 @@ public class ExplosionChaos { d7 = entity.posZ - z; double d9 = MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); if (d9 < wat) { - if (entity instanceof EntityPlayer && Library.checkForGasMask((EntityPlayer) entity)) { - Library.damageSuit((EntityPlayer)entity, 3, rand.nextInt(2)); + if (entity instanceof EntityPlayer && ArmorUtil.checkForGasMask((EntityPlayer) entity)) { + ArmorUtil.damageSuit((EntityPlayer)entity, 3, rand.nextInt(2)); } else if (entity instanceof EntityLivingBase) { ((EntityLivingBase) entity) @@ -690,10 +690,10 @@ public class ExplosionChaos { if (entity instanceof EntityPlayer) { - Library.damageSuit((EntityPlayer)entity, 0, 25); - Library.damageSuit((EntityPlayer)entity, 1, 25); - Library.damageSuit((EntityPlayer)entity, 2, 25); - Library.damageSuit((EntityPlayer)entity, 3, 25); + ArmorUtil.damageSuit((EntityPlayer)entity, 0, 25); + ArmorUtil.damageSuit((EntityPlayer)entity, 1, 25); + ArmorUtil.damageSuit((EntityPlayer)entity, 2, 25); + ArmorUtil.damageSuit((EntityPlayer)entity, 3, 25); } @@ -737,14 +737,14 @@ public class ExplosionChaos { if (entity instanceof EntityPlayer) { - Library.damageSuit((EntityPlayer)entity, 0, 5); - Library.damageSuit((EntityPlayer)entity, 1, 5); - Library.damageSuit((EntityPlayer)entity, 2, 5); - Library.damageSuit((EntityPlayer)entity, 3, 5); + ArmorUtil.damageSuit((EntityPlayer)entity, 0, 5); + ArmorUtil.damageSuit((EntityPlayer)entity, 1, 5); + ArmorUtil.damageSuit((EntityPlayer)entity, 2, 5); + ArmorUtil.damageSuit((EntityPlayer)entity, 3, 5); } - if (entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer) entity)) { } else { + if (entity instanceof EntityPlayer && ArmorUtil.checkForHazmat((EntityPlayer) entity)) { } else { if(entity instanceof EntityLivingBase && ((EntityLivingBase)entity).isPotionActive(HbmPotion.taint.id)) { ((EntityLivingBase)entity).removePotionEffect(HbmPotion.taint.id); diff --git a/com/hbm/explosion/ExplosionNukeGeneric.java b/com/hbm/explosion/ExplosionNukeGeneric.java index afa2081fb..d743673eb 100644 --- a/com/hbm/explosion/ExplosionNukeGeneric.java +++ b/com/hbm/explosion/ExplosionNukeGeneric.java @@ -31,6 +31,7 @@ import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.entity.projectile.EntityExplosiveBeam; import com.hbm.entity.projectile.EntityMiniMIRV; import com.hbm.entity.projectile.EntityMiniNuke; +import com.hbm.handler.ArmorUtil; import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.ISource; import com.hbm.items.ModItems; @@ -146,7 +147,7 @@ public class ExplosionNukeGeneric { && !(entity instanceof EntityMiniMIRV) && !(entity instanceof EntityGrenadeASchrab) && !(entity instanceof EntityGrenadeNuclear) && !(entity instanceof EntityExplosiveBeam) && !(entity instanceof EntityBulletBase) && !(entity instanceof EntityPlayer - && Library.checkArmor((EntityPlayer) entity, ModItems.euphemium_helmet, + && ArmorUtil.checkArmor((EntityPlayer) entity, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots))) { d5 /= d9; d6 /= d9; @@ -208,7 +209,7 @@ public class ExplosionNukeGeneric { d7 = entity.posZ - z; double d9 = MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); if (d9 < wat && !(entity instanceof EntityPlayer - && Library.checkArmor((EntityPlayer) entity, ModItems.euphemium_helmet, + && ArmorUtil.checkArmor((EntityPlayer) entity, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots))) { d5 /= d9; d6 /= d9; @@ -254,7 +255,7 @@ public class ExplosionNukeGeneric { d7 = entity.posZ - z; double d9 = MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); if (d9 < wat && !(entity instanceof EntityPlayer - && Library.checkArmor((EntityPlayer) entity, ModItems.euphemium_helmet, + && ArmorUtil.checkArmor((EntityPlayer) entity, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots))) { d5 /= d9; d6 /= d9; diff --git a/com/hbm/explosion/ExplosionThermo.java b/com/hbm/explosion/ExplosionThermo.java index 42b5f96ef..890a730b6 100644 --- a/com/hbm/explosion/ExplosionThermo.java +++ b/com/hbm/explosion/ExplosionThermo.java @@ -4,8 +4,7 @@ import java.util.HashSet; import java.util.List; import com.hbm.blocks.ModBlocks; -import com.hbm.lib.Library; - +import com.hbm.handler.ArmorUtil; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -494,7 +493,7 @@ public class ExplosionThermo { if (d9 < wat && !(entity instanceof EntityOcelot) && entity instanceof EntityLivingBase) { - if(!(entity instanceof EntityPlayer && Library.checkForAsbestos((EntityPlayer) entity))) { + if(!(entity instanceof EntityPlayer && ArmorUtil.checkForAsbestos((EntityPlayer) entity))) { ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.weakness.getId(), 15 * 20, 4)); entity.setFire(10); } diff --git a/com/hbm/handler/ArmorUtil.java b/com/hbm/handler/ArmorUtil.java new file mode 100644 index 000000000..260b99569 --- /dev/null +++ b/com/hbm/handler/ArmorUtil.java @@ -0,0 +1,222 @@ +package com.hbm.handler; + +import com.hbm.items.ModItems; +import com.hbm.lib.Library; +import com.hbm.potion.HbmPotion; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ArmorUtil { + + 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 amount) { + + if(player.inventory.armorInventory[slot] == null) + return; + + int j = player.inventory.armorInventory[slot].getItemDamage(); + player.inventory.armorInventory[slot].setItemDamage(j += amount); + + 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.hazmat_helmet_red, ModItems.hazmat_plate_red, ModItems.hazmat_legs_red, ModItems.hazmat_boots_red) || + checkArmor(player, ModItems.hazmat_helmet_grey, ModItems.hazmat_plate_grey, ModItems.hazmat_legs_grey, ModItems.hazmat_boots_grey) || + checkArmor(player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots) || + checkArmor(player, ModItems.schrabidium_helmet, ModItems.schrabidium_plate, ModItems.schrabidium_legs, ModItems.schrabidium_boots) || + checkForHaz2(player)) { + + return true; + } + + if(player.isPotionActive(HbmPotion.mutation)) + return true; + + return false; + } + + public static boolean checkForHaz2(EntityPlayer player) { + + if(checkArmor(player, ModItems.hazmat_paa_helmet, ModItems.hazmat_paa_plate, ModItems.hazmat_paa_legs, ModItems.hazmat_paa_boots) || + checkArmor(player, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots)) + { + return true; + } + + return false; + } + + public static boolean checkForAsbestos(EntityPlayer player) { + + if(checkArmor(player, ModItems.asbestos_helmet, ModItems.asbestos_plate, ModItems.asbestos_legs, ModItems.asbestos_boots)) + { + return true; + } + + return false; + } + + public static boolean checkForFaraday(EntityPlayer player) { + + ItemStack[] armor = player.inventory.armorInventory; + + if(armor[0] == null || armor[1] == null || armor[2] == null || armor[3] == null) return false; + + if(isFaradayArmor(armor[0].getItem()) && + isFaradayArmor(armor[1].getItem()) && + isFaradayArmor(armor[2].getItem()) && + isFaradayArmor(armor[3].getItem())) + return true; + + return false; + } + + public static final String[] metals = new String[] { + "chainmail", + "iron", + "silver", + "gold", + "platinum", + "tin", + "lead", + "schrabidium", + "euphemium", + "steel", + "cmb", + "titanium", + "alloy", + "copper", + "bronze", + "electrum", + "t45", + "hazmat", //also count because rubber is insulating + "rubber" + }; + + public static boolean isFaradayArmor(Item item) { + + String name = item.getUnlocalizedName(); + + for(String metal : metals) { + + if(name.toLowerCase().contains(metal)) + return true; + } + + return false; + } + + public static boolean checkForGasMask(EntityPlayer player) { + + if(checkArmorPiece(player, ModItems.hazmat_helmet, 3)) + { + return true; + } + if(checkArmorPiece(player, ModItems.hazmat_helmet_red, 3)) + { + return true; + } + if(checkArmorPiece(player, ModItems.hazmat_helmet_grey, 3)) + { + return true; + } + if(checkArmorPiece(player, ModItems.hazmat_paa_helmet, 3)) + { + return true; + } + if(checkArmorPiece(player, ModItems.gas_mask, 3)) + { + return true; + } + if(checkArmorPiece(player, ModItems.gas_mask_m65, 3)) + { + return true; + } + if(checkArmorPiece(player, ModItems.t45_helmet, 3)) + { + return true; + } + if(checkArmorPiece(player, ModItems.schrabidium_helmet, 3)) + { + return true; + } + if(checkArmorPiece(player, ModItems.euphemium_helmet, 3)) + { + return true; + } + + if(player.isPotionActive(HbmPotion.mutation)) + return true; + + return false; + } + + public static boolean checkForGoggles(EntityPlayer player) { + + if(checkArmorPiece(player, ModItems.goggles, 3)) + { + return true; + } + if(checkArmorPiece(player, ModItems.gas_mask, 3)) + { + return true; + } + + return false; + } + + public static boolean checkForFiend(EntityPlayer player) { + + return checkArmorPiece(player, ModItems.jackt, 2) && Library.checkForHeld(player, ModItems.shimmer_sledge); + } + + public static boolean checkForFiend2(EntityPlayer player) { + + return checkArmorPiece(player, ModItems.jackt2, 2) && Library.checkForHeld(player, ModItems.shimmer_axe); + } +} diff --git a/com/hbm/handler/BobmazonOfferFactory.java b/com/hbm/handler/BobmazonOfferFactory.java index 87b885961..640536574 100644 --- a/com/hbm/handler/BobmazonOfferFactory.java +++ b/com/hbm/handler/BobmazonOfferFactory.java @@ -7,7 +7,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.inventory.gui.GUIScreenBobmazon.Offer; import com.hbm.inventory.gui.GUIScreenBobmazon.Requirement; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import net.minecraft.item.ItemStack; diff --git a/com/hbm/handler/BulletConfigSyncingUtil.java b/com/hbm/handler/BulletConfigSyncingUtil.java index 14312e7b2..998ce12b1 100644 --- a/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/com/hbm/handler/BulletConfigSyncingUtil.java @@ -112,6 +112,11 @@ public class BulletConfigSyncingUtil { public static int SPECIAL_GAUSS_CHARGED = i++; public static int SPECIAL_EMP = i++; + public static int FLAMER_NORMAL = i++; + public static int FLAMER_NAPALM = i++; + public static int FLAMER_WP = i++; + public static int FLAMER_GAS = i++; + public static int G20_NORMAL_FIRE = i++; public static int G20_SHRAPNEL_FIRE = i++; public static int G20_SLUG_FIRE = i++; @@ -228,6 +233,11 @@ public class BulletConfigSyncingUtil { configSet.put(SPECIAL_GAUSS, GunGaussFactory.getGaussConfig()); configSet.put(SPECIAL_GAUSS_CHARGED, GunGaussFactory.getAltConfig()); configSet.put(SPECIAL_EMP, GunEnergyFactory.getOrbusConfig()); + + configSet.put(FLAMER_NORMAL, GunEnergyFactory.getFlameConfig()); + configSet.put(FLAMER_NAPALM, GunEnergyFactory.getNapalmConfig()); + configSet.put(FLAMER_WP, GunEnergyFactory.getPhosphorusConfig()); + configSet.put(FLAMER_GAS, GunEnergyFactory.getGasConfig()); configSet.put(G20_NORMAL_FIRE, Gun20GaugeFactory.get20GaugeConfig().setToFire(3)); configSet.put(G20_SHRAPNEL_FIRE, Gun20GaugeFactory.get20GaugeShrapnelConfig().setToFire(3)); diff --git a/com/hbm/handler/BulletConfiguration.java b/com/hbm/handler/BulletConfiguration.java index 09f77410a..ecf42b1fd 100644 --- a/com/hbm/handler/BulletConfiguration.java +++ b/com/hbm/handler/BulletConfiguration.java @@ -14,6 +14,8 @@ public class BulletConfiguration { //what item this specific configuration consumes public Item ammo; + //how many ammo units one item restores + public int ammoCount = 1; //how fast the bullet is (in sanics per second, or sps) public float velocity; //spread of bullets in gaussian range @@ -81,6 +83,7 @@ public class BulletConfiguration { //vanilla particle FX public String vPFX = ""; + public static final int STYLE_NONE = -1; public static final int STYLE_NORMAL = 0; public static final int STYLE_FLECHETTE = 1; public static final int STYLE_PELLET = 2; diff --git a/com/hbm/handler/FluidTypeHandler.java b/com/hbm/handler/FluidTypeHandler.java index 5d6ad3017..1ce8f0ec4 100644 --- a/com/hbm/handler/FluidTypeHandler.java +++ b/com/hbm/handler/FluidTypeHandler.java @@ -61,7 +61,9 @@ public class FluidTypeHandler { HYDROGEN (0x4286f4, 3, 1, 2, 3, 4, 0, EnumSymbol.CROYGENIC, "hbmfluid.hydrogen"), OXYGEN (0x98bdf9, 4, 1, 2, 3, 0, 0, EnumSymbol.CROYGENIC, "hbmfluid.oxygen"), XENON (0xba45e8, 5, 1, 2, 0, 0, 0, EnumSymbol.ASPHYXIANT, "hbmfluid.xenon"), - BALEFIRE (0x28e02e, 6, 1, 2, 4, 4, 3, EnumSymbol.RADIATION, "hbmfluid.balefire", true, true, false); + BALEFIRE (0x28e02e, 6, 1, 2, 4, 4, 3, EnumSymbol.RADIATION, "hbmfluid.balefire", true, true, false), + + MERCURY (0x808080, 7, 1, 2, 2, 0, 0, EnumSymbol.NONE, "hbmfluid.mercury"); //Approximate HEX Color of the fluid, used for pipe rendering diff --git a/com/hbm/handler/MultiblockHandlerXR.java b/com/hbm/handler/MultiblockHandlerXR.java new file mode 100644 index 000000000..838575f61 --- /dev/null +++ b/com/hbm/handler/MultiblockHandlerXR.java @@ -0,0 +1,147 @@ +package com.hbm.handler; + +import net.minecraft.block.Block; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class MultiblockHandlerXR { + + //when looking north + // U D N S W E + public static int[] uni = new int[] { 3, 0, 4, 4, 4, 4 }; + + public static boolean checkSpace(World world, int x, int y, int z, int[] dim, int ox, int oy, int oz, ForgeDirection dir) { + + if(dim == null || dim.length != 6) + return false; + + int count = 0; + + int[] rot = rotate(dim, dir); + + for(int a = x - rot[4]; a <= x + rot[5]; a++) { + for(int b = y - rot[1]; b <= y + rot[0]; b++) { + for(int c = z - rot[2]; c <= z + rot[3]; c++) { + + //if the position matches the just placed block, the space counts as unoccupied + if(a == ox && b == oy && c == oz) + continue; + + if(!world.getBlock(a, b, c).canPlaceBlockAt(world, a, b, c)) { + return false; + } + + count++; + + if(count > 2000) { + System.out.println("checkspace: ded " + a + " " + b + " " + c + " " + x + " " + y + " " + z); + return false; + } + } + } + } + + return true; + } + + public static void fillSpace(World world, int x, int y, int z, int[] dim, Block block, ForgeDirection dir) { + + if(dim == null || dim.length != 6) + return; + + int count = 0; + + int[] rot = rotate(dim, dir); + + for(int a = x - rot[4]; a <= x + rot[5]; a++) { + for(int b = y - rot[1]; b <= y + rot[0]; b++) { + for(int c = z - rot[2]; c <= z + rot[3]; c++) { + + int meta = 0; + + if(b < y) { + meta = ForgeDirection.DOWN.ordinal(); + } else if(b > y) { + meta = ForgeDirection.UP.ordinal(); + } else if(a < x) { + meta = ForgeDirection.WEST.ordinal(); + } else if(a > x) { + meta = ForgeDirection.EAST.ordinal(); + } else if(c < z) { + meta = ForgeDirection.NORTH.ordinal(); + } else if(c > z) { + meta = ForgeDirection.SOUTH.ordinal(); + } else { + continue; + } + + world.setBlock(a, b, c, block, meta, 3); + + count++; + + if(count > 2000) { + System.out.println("fillspace: ded " + a + " " + b + " " + c + " " + x + " " + y + " " + z); + return; + } + } + } + } + } + + @Deprecated + public static void emptySpace(World world, int x, int y, int z, int[] dim, Block block, ForgeDirection dir) { + + if(dim == null || dim.length != 6) + return; + + int count = 0; + + System.out.println("emptyspace is deprecated and shouldn't even be executed"); + + int[] rot = rotate(dim, dir); + + for(int a = x - rot[4]; a <= x + rot[5]; a++) { + for(int b = y - rot[1]; b <= y + rot[0]; b++) { + for(int c = z - rot[2]; c <= z + rot[3]; c++) { + + if(world.getBlock(a, b, c) == block) + world.setBlockToAir(a, b, c); + + count++; + + if(count > 2000) { + System.out.println("emptyspace: ded " + a + " " + b + " " + c); + return; + } + } + } + } + } + + public static int[] rotate(int[] dim, ForgeDirection dir) { + + if(dim == null) + return null; + + if(dir == ForgeDirection.SOUTH) + return dim; + + if(dir == ForgeDirection.NORTH) { + // U D N S W E + return new int[] { dim[0], dim[1], dim[3], dim[2], dim[5], dim[4] }; + } + + if(dir == ForgeDirection.EAST) { + // U D N S W E + return new int[] { dim[0], dim[1], dim[5], dim[4], dim[2], dim[3] }; + } + + if(dir == ForgeDirection.WEST) { + // U D N S W E + return new int[] { dim[0], dim[1], dim[4], dim[5], dim[3], dim[2] }; + } + + return dim; + } + +} diff --git a/com/hbm/handler/ThreeInts.java b/com/hbm/handler/ThreeInts.java new file mode 100644 index 000000000..ddd9fa7ac --- /dev/null +++ b/com/hbm/handler/ThreeInts.java @@ -0,0 +1,48 @@ +package com.hbm.handler; + +public class ThreeInts implements Comparable { + + public int x; + public int y; + public int z; + + public ThreeInts(int x, int y, int z) { + this.x = x; + this.y = y; + this.z = z; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + x; + result = prime * result + y; + result = prime * result + z; + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + ThreeInts other = (ThreeInts) obj; + if (x != other.x) + return false; + if (y != other.y) + return false; + if (z != other.z) + return false; + return true; + } + + @Override + public int compareTo(Object o) { + + return equals(o) ? 0 : 1; + } +} diff --git a/com/hbm/handler/ToolAbility.java b/com/hbm/handler/ToolAbility.java new file mode 100644 index 000000000..b5591b212 --- /dev/null +++ b/com/hbm/handler/ToolAbility.java @@ -0,0 +1,228 @@ +package com.hbm.handler; + +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import com.hbm.inventory.MachineRecipes; +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemToolAbility; + +import net.minecraft.block.Block; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import scala.actors.threadpool.Arrays; + +public abstract class ToolAbility { + + public abstract void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, ItemToolAbility tool); + public abstract String getName(); + public abstract String getFullName(); + + public static class RecursionAbility extends ToolAbility { + + int radius; + + public RecursionAbility(int radius) { + this.radius = radius; + } + + private Set pos = new HashSet(); + + @Override + public void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, ItemToolAbility tool) { + + List indices = Arrays.asList(new Integer[] {0, 1, 2, 3, 4, 5}); + Collections.shuffle(indices); + + pos.clear(); + + for(Integer i : indices) { + switch(i) { + case 0: breakExtra(world, x + 1, y, z, x, y, z, player, tool); break; + case 1: breakExtra(world, x - 1, y, z, x, y, z, player, tool); break; + case 2: breakExtra(world, x, y + 1, z, x, y, z, player, tool); break; + case 3: breakExtra(world, x, y - 1, z, x, y, z, player, tool); break; + case 4: breakExtra(world, x, y, z + 1, x, y, z, player, tool); break; + case 5: breakExtra(world, x, y, z - 1, x, y, z, player, tool); break; + } + } + } + + private void breakExtra(World world, int x, int y, int z, int refX, int refY, int refZ, EntityPlayer player, ItemToolAbility tool) { + + if(pos.contains(new ThreeInts(x, y, z))) + return; + + pos.add(new ThreeInts(x, y, z)); + + //don't lose the ref block just yet + if(x == refX && y == refY && z == refZ) + return; + + if(Vec3.createVectorHelper(x - refX, y - refY, z - refZ).lengthVector() > radius) + return; + + Block b = world.getBlock(x, y, z); + Block ref = world.getBlock(refX, refY, refZ); + int meta = world.getBlockMetadata(x, y, z); + int refMeta = world.getBlockMetadata(refX, refY, refZ); + + if(b != ref) + return; + + if(meta != refMeta) + return; + + if(player.getHeldItem() == null) + return; + + tool.breakExtraBlock(world, x, y, z, player, refX, refY, refZ); + + List indices = Arrays.asList(new Integer[] {0, 1, 2, 3, 4, 5}); + Collections.shuffle(indices); + + for(Integer i : indices) { + switch(i) { + case 0: breakExtra(world, x + 1, y, z, refX, refY, refZ, player, tool); break; + case 1: breakExtra(world, x - 1, y, z, refX, refY, refZ, player, tool); break; + case 2: breakExtra(world, x, y + 1, z, refX, refY, refZ, player, tool); break; + case 3: breakExtra(world, x, y - 1, z, refX, refY, refZ, player, tool); break; + case 4: breakExtra(world, x, y, z + 1, refX, refY, refZ, player, tool); break; + case 5: breakExtra(world, x, y, z - 1, refX, refY, refZ, player, tool); break; + } + } + } + + @Override + public String getName() { + return "tool.ability.recursion"; + } + + @Override + public String getFullName() { + return I18n.format(getName()) + " (" + radius + ")"; + } + + } + + public static class HammerAbility extends ToolAbility { + + int range; + + public HammerAbility(int range) { + this.range = range; + } + + @Override + public void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, ItemToolAbility tool) { + + for(int a = x - range; a <= x + range; a++) { + for(int b = y - range; b <= y + range; b++) { + for(int c = z - range; c <= z + range; c++) { + + if(a == x && b == y && c == z) + continue; + + tool.breakExtraBlock(world, a, b ,c, player, x, y, z); + } + } + } + } + + @Override + public String getName() { + return "tool.ability.hammer"; + } + + @Override + public String getFullName() { + return I18n.format(getName()) + " (" + range + ")"; + } + } + + public static class SmelterAbility extends ToolAbility { + + @Override + public void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, ItemToolAbility tool) { + + ItemStack stack = new ItemStack(block, 1, meta); + ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(stack); + + if(result != null) { + world.setBlockToAir(x, y, z); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, result.copy())); + } + } + + @Override + public String getName() { + return "tool.ability.smelter"; + } + + @Override + public String getFullName() { + return I18n.format(getName()); + } + } + + public static class ShredderAbility extends ToolAbility { + + @Override + public void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, ItemToolAbility tool) { + + ItemStack stack = new ItemStack(block, 1, meta); + ItemStack result = MachineRecipes.getShredderResult(stack); + + if(result != null && result.getItem() != ModItems.scrap) { + world.setBlockToAir(x, y, z); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, result.copy())); + } + } + + @Override + public String getName() { + return "tool.ability.shredder"; + } + + @Override + public String getFullName() { + return I18n.format(getName()); + } + } + + public static class CentrifugeAbility extends ToolAbility { + + @Override + public void onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, ItemToolAbility tool) { + + ItemStack stack = new ItemStack(block, 1, meta); + ItemStack[] result = MachineRecipes.getCentrifugeProcessingResult(stack); + + if(result != null) { + world.setBlockToAir(x, y, z); + + for(ItemStack st : result) { + if(st != null) + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, st.copy())); + } + } + } + + @Override + public String getName() { + return "tool.ability.centrifuge"; + } + + @Override + public String getFullName() { + return I18n.format(getName()); + } + } +} \ No newline at end of file diff --git a/com/hbm/handler/guncfg/BulletConfigFactory.java b/com/hbm/handler/guncfg/BulletConfigFactory.java index ac2069808..8d9be9186 100644 --- a/com/hbm/handler/guncfg/BulletConfigFactory.java +++ b/com/hbm/handler/guncfg/BulletConfigFactory.java @@ -3,6 +3,7 @@ package com.hbm.handler.guncfg; import java.util.List; import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.handler.ArmorUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.items.ModItems; @@ -14,7 +15,9 @@ import com.hbm.potion.HbmPotion; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; @@ -180,7 +183,7 @@ public class BulletConfigFactory { return bullet; } - public static IBulletImpactBehavior getPhosphorousEffect(final int radius, final int duration) { + public static IBulletImpactBehavior getPhosphorousEffect(final int radius, final int duration, final int count, final double motion) { IBulletImpactBehavior impact = new IBulletImpactBehavior() { @@ -206,8 +209,52 @@ public class BulletConfigFactory { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaburst"); data.setString("mode", "flame"); - data.setInteger("count", 100); - data.setDouble("motion", 0.5D); + data.setInteger("count", count); + data.setDouble("motion", motion); + + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50)); + } + }; + + return impact; + } + + public static IBulletImpactBehavior getGasEffect(final int radius, final int duration) { + + IBulletImpactBehavior impact = new IBulletImpactBehavior() { + + @Override + public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + + List hit = bullet.worldObj.getEntitiesWithinAABBExcludingEntity(bullet, AxisAlignedBB.getBoundingBox(bullet.posX - radius, bullet.posY - radius, bullet.posZ - radius, bullet.posX + radius, bullet.posY + radius, bullet.posZ + radius)); + + for(Entity e : hit) { + + if(!Library.isObstructed(bullet.worldObj, bullet.posX, bullet.posY, bullet.posZ, e.posX, e.posY + e.getEyeHeight(), e.posZ)) { + + if(e instanceof EntityLivingBase) { + + if(e instanceof EntityPlayer && ArmorUtil.checkForGasMask((EntityPlayer) e)) + continue; + + PotionEffect eff0 = new PotionEffect(Potion.poison.id, duration, 2, true); + PotionEffect eff1 = new PotionEffect(Potion.digSlowdown.id, duration, 2, true); + PotionEffect eff2 = new PotionEffect(Potion.weakness.id, duration, 4, true); + eff0.getCurativeItems().clear(); + eff1.getCurativeItems().clear(); + eff2.getCurativeItems().clear(); + ((EntityLivingBase)e).addPotionEffect(eff0); + ((EntityLivingBase)e).addPotionEffect(eff1); + ((EntityLivingBase)e).addPotionEffect(eff2); + } + } + } + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaburst"); + data.setString("mode", "cloud"); + data.setInteger("count", 15); + data.setDouble("motion", 0.1D); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50)); } diff --git a/com/hbm/handler/guncfg/GunEnergyFactory.java b/com/hbm/handler/guncfg/GunEnergyFactory.java index 17ce170b1..8ca7d934d 100644 --- a/com/hbm/handler/guncfg/GunEnergyFactory.java +++ b/com/hbm/handler/guncfg/GunEnergyFactory.java @@ -2,12 +2,18 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; +import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; +import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.items.ModItems; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; import com.hbm.render.util.RenderScreenOverlay.Crosshair; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; @@ -43,6 +49,46 @@ public class GunEnergyFactory { return config; } + public static GunConfiguration getFlamerConfig() { + + GunConfiguration config = new GunConfiguration(); + + config.rateOfFire = 1; + config.roundsPerCycle = 1; + config.gunMode = GunConfiguration.MODE_NORMAL; + config.firingMode = GunConfiguration.FIRE_AUTO; + config.hasReloadAnim = false; + config.hasFiringAnim = false; + config.hasSpinup = false; + config.hasSpindown = false; + config.reloadDuration = 20; + config.reloadSoundEnd = false; + config.firingDuration = 0; + config.ammoCap = 100; + config.durability = 1000; + config.reloadType = GunConfiguration.RELOAD_FULL; + config.allowsInfinity = true; + config.crosshair = Crosshair.L_CIRCLE; + config.firingSound = "hbm:weapon.immolatorShoot"; + config.reloadSound = "hbm:weapon.flamerReload"; + + config.name = "Heavy Duty Flamer"; + config.manufacturer = "MWT Prototype Labs"; + + config.comment.add("Dragon-slaying: Advanced techniques, part 1:"); + config.comment.add("Try not to get eaten by the dragon."); + config.comment.add(""); + config.comment.add("Hope that helps."); + + config.config = new ArrayList(); + config.config.add(BulletConfigSyncingUtil.FLAMER_NORMAL); + config.config.add(BulletConfigSyncingUtil.FLAMER_NAPALM); + config.config.add(BulletConfigSyncingUtil.FLAMER_WP); + config.config.add(BulletConfigSyncingUtil.FLAMER_GAS); + + return config; + } + public static BulletConfiguration getOrbusConfig() { BulletConfiguration bullet = new BulletConfiguration(); @@ -71,4 +117,98 @@ public class GunEnergyFactory { return bullet; } + + public static BulletConfiguration getFlameConfig() { + + BulletConfiguration bullet = new BulletConfiguration(); + + bullet.ammo = ModItems.ammo_fuel; + bullet.ammoCount = 100; + + bullet.velocity = 0.75F; + bullet.spread = 0.025F; + bullet.wear = 1; + bullet.bulletsMin = 3; + bullet.bulletsMax = 5; + bullet.dmgMin = 2; + bullet.dmgMax = 4; + bullet.gravity = 0.01D; + bullet.maxAge = 60; + bullet.doesRicochet = false; + bullet.doesPenetrate = true; + bullet.doesBreakGlass = false; + bullet.style = BulletConfiguration.STYLE_NONE; + bullet.plink = BulletConfiguration.PLINK_NONE; + bullet.vPFX = "flame"; + bullet.incendiary = 10; + + bullet.bImpact = new IBulletImpactBehavior() { + + @Override + public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaburst"); + data.setString("mode", "flame"); + data.setInteger("count", 15); + data.setDouble("motion", 0.1D); + + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50)); + } + }; + + return bullet; + } + + public static BulletConfiguration getNapalmConfig() { + + BulletConfiguration bullet = getFlameConfig(); + + bullet.ammo = ModItems.ammo_fuel_napalm; + bullet.wear = 2; + bullet.dmgMin = 4; + bullet.dmgMax = 6; + bullet.maxAge = 200; + + return bullet; + } + + public static BulletConfiguration getPhosphorusConfig() { + + BulletConfiguration bullet = getFlameConfig(); + + bullet.ammo = ModItems.ammo_fuel_phosphorus; + bullet.wear = 2; + bullet.spread = 0.0F; + bullet.bulletsMin = 1; + bullet.bulletsMax = 1; + bullet.dmgMin = 4; + bullet.dmgMax = 6; + bullet.maxAge = 200; + bullet.vPFX = "smoke"; + + bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(5, 60 * 20, 25, 0.25); + + return bullet; + } + + public static BulletConfiguration getGasConfig() { + + BulletConfiguration bullet = getFlameConfig(); + + bullet.ammo = ModItems.ammo_fuel_gas; + bullet.wear = 1; + bullet.spread = 0.05F; + bullet.gravity = 0D; + bullet.bulletsMin = 5; + bullet.bulletsMax = 7; + bullet.dmgMin = 0; + bullet.dmgMax = 0; + bullet.vPFX = "cloud"; + bullet.incendiary = 0; + + bullet.bImpact = BulletConfigFactory.getGasEffect(5, 60 * 20); + + return bullet; + } } diff --git a/com/hbm/handler/guncfg/GunGrenadeFactory.java b/com/hbm/handler/guncfg/GunGrenadeFactory.java index 506c91f48..77c7698f3 100644 --- a/com/hbm/handler/guncfg/GunGrenadeFactory.java +++ b/com/hbm/handler/guncfg/GunGrenadeFactory.java @@ -107,7 +107,7 @@ public class GunGrenadeFactory { bullet.trail = 0; bullet.incendiary = 2; - bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20); + bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D); return bullet; } diff --git a/com/hbm/handler/guncfg/GunRocketFactory.java b/com/hbm/handler/guncfg/GunRocketFactory.java index 8525b9c75..3f166b430 100644 --- a/com/hbm/handler/guncfg/GunRocketFactory.java +++ b/com/hbm/handler/guncfg/GunRocketFactory.java @@ -277,7 +277,7 @@ public class GunRocketFactory { bullet.incendiary = 5; bullet.trail = 9; - bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20); + bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D); return bullet; } diff --git a/com/hbm/handler/nei/ModInfoHandler.java b/com/hbm/handler/nei/ModInfoHandler.java deleted file mode 100644 index 90d008eeb..000000000 --- a/com/hbm/handler/nei/ModInfoHandler.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.hbm.handler.nei; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -import com.hbm.inventory.MachineRecipes; -import com.hbm.lib.RefStrings; - -import codechicken.nei.NEIServerUtils; -import codechicken.nei.PositionedStack; -import codechicken.nei.recipe.TemplateRecipeHandler; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.item.ItemStack; - -public class ModInfoHandler extends TemplateRecipeHandler { - - public class SmeltingSet extends TemplateRecipeHandler.CachedRecipe - { - PositionedStack item; - - public SmeltingSet(ItemStack item) { - item.stackSize = 1; - this.item = new PositionedStack(item, 129 - 54, 24 - 17); - } - - @Override - public List getIngredients() { - return getCycledIngredients(cycleticks / 48, Arrays.asList(new PositionedStack[] {item})); - } - - @Override - public PositionedStack getResult() { - return item; - } - } - - @Override - public String getRecipeName() { - return "Mod Info"; - } - - @Override - public String getGuiTexture() { - return RefStrings.MODID + ":textures/gui/gui_info.png"; - } - - @Override - public void loadCraftingRecipes(String outputId, Object... results) { - if ((outputId.equals("hbminfo")) && getClass() == ModInfoHandler.class) { - Map recipes = MachineRecipes.instance().getItemInfo(); - for (Map.Entry recipe : recipes.entrySet()) { - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey())); - } - } else { - super.loadCraftingRecipes(outputId, results); - } - } - - @Override - public void loadCraftingRecipes(ItemStack result) { - Map recipes = MachineRecipes.instance().getItemInfo(); - for (Map.Entry recipe : recipes.entrySet()) { - if (NEIServerUtils.areStacksSameType((ItemStack)recipe.getKey(), result)) - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey())); - } - } - - @Override - public void loadUsageRecipes(String inputId, Object... ingredients) { - if ((inputId.equals("hbminfo")) && getClass() == ModInfoHandler.class) { - loadCraftingRecipes("hbminfo", new Object[0]); - } else { - super.loadUsageRecipes(inputId, ingredients); - } - } - - @Override - public void loadUsageRecipes(ItemStack ingredient) { - Map recipes = MachineRecipes.instance().getItemInfo(); - for (Map.Entry recipe : recipes.entrySet()) { - if (NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey())) - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey())); - } - } - - FontRenderer font = Minecraft.getMinecraft().fontRenderer; - - @Override - public void drawExtras(int recipe) { - ItemStack stack = arecipes.get(recipe).getResult().item; - String[] strings = MachineRecipes.instance().getInfoFromItem(stack); - - font.drawString(stack.getDisplayName() + ":", 5, 24 + 5, 4210752); - - for(int i = 0; i < strings.length; i++) - font.drawString(strings[i], 5 + 3, 34 + 5 + 10 * i, 4210752); - } - - @Override - public TemplateRecipeHandler newInstance() { - return super.newInstance(); - } -} diff --git a/com/hbm/interfaces/Spaghetti.java b/com/hbm/interfaces/Spaghetti.java index 93f356ef2..eb9542b6f 100644 --- a/com/hbm/interfaces/Spaghetti.java +++ b/com/hbm/interfaces/Spaghetti.java @@ -1,7 +1,7 @@ package com.hbm.interfaces; //Universal notation for shitty code -// know TODO is a thing, but it's nice to hover over a class and see wtf is wrong with it +//I know TODO is a thing, but it's nice to hover over a class and see wtf is wrong with it public @interface Spaghetti { public String value(); diff --git a/com/hbm/inventory/FluidContainerRegistry.java b/com/hbm/inventory/FluidContainerRegistry.java index beb11bd58..209bb1e9f 100644 --- a/com/hbm/inventory/FluidContainerRegistry.java +++ b/com/hbm/inventory/FluidContainerRegistry.java @@ -11,27 +11,13 @@ public class FluidContainerRegistry { public static final FluidContainerRegistry instance = new FluidContainerRegistry(); + //TODO: somehow incorporate hashmaps into this List allContainers = new ArrayList(); public void registerContainer(FluidContainer con) { allContainers.add(con); } - /*public static boolean containsFluid(ItemStack stack, FluidType type) { - if(stack == null) - return false; - - ItemStack sta = stack.copy(); - sta.stackSize = 1; - - for(FluidContainer container : instance.allContainers) { - if(container.type == type && getEmptyContainer(sta) != null) - return container.content > 0; - } - - return false; - }*/ - public static int getFluidContent(ItemStack stack, FluidType type) { if(stack == null) diff --git a/com/hbm/inventory/FluidTank.java b/com/hbm/inventory/FluidTank.java index 96f73d439..5694c62d1 100644 --- a/com/hbm/inventory/FluidTank.java +++ b/com/hbm/inventory/FluidTank.java @@ -3,11 +3,11 @@ package com.hbm.inventory; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.inventory.gui.GuiInfoContainer; import com.hbm.items.ModItems; -import com.hbm.items.gear.JetpackBooster; -import com.hbm.items.gear.JetpackBreak; -import com.hbm.items.gear.JetpackRegular; -import com.hbm.items.gear.JetpackVectorized; -import com.hbm.items.tool.ItemFluidIdentifier; +import com.hbm.items.armor.JetpackBooster; +import com.hbm.items.armor.JetpackBreak; +import com.hbm.items.armor.JetpackRegular; +import com.hbm.items.armor.JetpackVectorized; +import com.hbm.items.machine.ItemFluidIdentifier; import com.hbm.lib.RefStrings; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEFluidPacket; diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index 0565c2de5..ccdd332b5 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -9,11 +9,11 @@ import com.hbm.blocks.ModBlocks; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.interfaces.Spaghetti; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; -import com.hbm.items.tool.ItemAssemblyTemplate; -import com.hbm.items.tool.ItemAssemblyTemplate.EnumAssemblyTemplate; -import com.hbm.items.tool.ItemChemistryTemplate; -import com.hbm.items.tool.ItemFluidIcon; +import com.hbm.items.machine.ItemAssemblyTemplate; +import com.hbm.items.machine.ItemBattery; +import com.hbm.items.machine.ItemChemistryTemplate; +import com.hbm.items.machine.ItemFluidIcon; +import com.hbm.items.machine.ItemAssemblyTemplate.EnumAssemblyTemplate; import com.hbm.main.MainRegistry; import net.minecraft.enchantment.Enchantment; @@ -24,6 +24,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.oredict.OreDictionary; +//TODO: clean this shit up +@Spaghetti("everything") public class MachineRecipes { public MachineRecipes() { @@ -100,21 +102,16 @@ public class MachineRecipes { return new ItemStack(ModItems.ingot_dura_steel, 2); } - if (mODE(item, new String[] {"ingotSteel", "dustSteel"}) && item2.getItem() == ModItems.powder_cobalt - || item.getItem() == ModItems.powder_cobalt && mODE(item2, new String[] {"ingotSteel", "dustSteel"})) { + if (mODE(item, new String[] {"ingotSteel", "dustSteel"}) && mODE(item2, new String[] {"ingotCobalt", "dustCobalt"}) + || mODE(item, new String[] {"ingotCobalt", "dustCobalt"}) && mODE(item2, new String[] {"ingotSteel", "dustSteel"})) { return new ItemStack(ModItems.ingot_dura_steel, 2); } - if (mODE(item, new String[] {"ingotDuraSteel", "dustDuraSteel"}) && item2.getItem() == ModItems.powder_meteorite - || item.getItem() == ModItems.powder_meteorite && mODE(item2, new String[] {"ingotDuraSteel", "dustDuraSteel"})) { + if (mODE(item, new String[] {"ingotSaturnite", "dustSaturnite"}) && item2.getItem() == ModItems.powder_meteorite + || item.getItem() == ModItems.powder_meteorite && mODE(item2, new String[] {"ingotSaturnite", "dustSaturnite"})) { return new ItemStack(ModItems.ingot_starmetal, 2); } - if (mODE(item, new String[] {"dustCobalt"}) && item2.getItem() == ModItems.ingot_starmetal - || item.getItem() == ModItems.ingot_starmetal && mODE(item2, new String[] {"dustCobalt"})) { - return new ItemStack(ModItems.ingot_saturnite, 2); - } - return null; } @@ -246,38 +243,14 @@ public class MachineRecipes { return plutoniumF; } - /*if (item.getItem() == ModItems.rod_dual_plutonium_fuel_depleted) { - return plutonium2; - } - - if (item.getItem() == ModItems.rod_quad_plutonium_fuel_depleted) { - return plutonium3; - }*/ - if (item.getItem() == ModItems.waste_mox) { return moxF; } - /*if (item.getItem() == ModItems.rod_dual_mox_fuel_depleted) { - return mox2; - } - - if (item.getItem() == ModItems.rod_quad_mox_fuel_depleted) { - return mox3; - }*/ - if (item.getItem() == ModItems.waste_schrabidium) { return schrabidiumF; } - /*if (item.getItem() == ModItems.rod_dual_schrabidium_fuel_depleted) { - return schrabidium2; - } - - if (item.getItem() == ModItems.rod_quad_schrabidium_fuel_depleted) { - return schrabidium3; - }*/ - if (item.getItem() == ModItems.powder_cloud) { return cloud; } @@ -376,10 +349,19 @@ public class MachineRecipes { if (item.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_fire)) { return new ItemStack[] { - new ItemStack(Items.blaze_powder), - new ItemStack(Items.blaze_powder), + new ItemStack(Items.blaze_powder, 2), + new ItemStack(ModItems.powder_fire, 2), new ItemStack(ModItems.ingot_phosphorus), - new ItemStack(Blocks.netherrack), + new ItemStack(Blocks.netherrack) + }; + } + + if (item.getItem() == Items.blaze_rod) { + return new ItemStack[] { + new ItemStack(Items.blaze_powder, 1), + new ItemStack(Items.blaze_powder, 1), + new ItemStack(ModItems.powder_fire, 1), + new ItemStack(ModItems.powder_fire, 1) }; } @@ -676,9 +658,6 @@ public class MachineRecipes { if(input.getItem() == ModItems.assembly_nopip) return new ItemStack(ModItems.ammo_44); - - //if(input.getItem() == ModItems.ammo_rocket) - // return new ItemStack(ModItems.ammo_44_rocket); } if(stamp.getItem() == ModItems.stamp_9) { @@ -691,9 +670,6 @@ public class MachineRecipes { return new ItemStack(ModItems.gun_mp_ammo); if(input.getItem() == ModItems.assembly_lacunae) return new ItemStack(ModItems.ammo_5mm); - - //if(input.getItem() == ModItems.ammo_rocket) - // return new ItemStack(ModItems.ammo_9mm_rocket); } if(stamp.getItem() == ModItems.stamp_50) { @@ -1222,12 +1198,10 @@ public class MachineRecipes { getFurnaceOutput(new ItemStack(ModItems.plate_mixed), new ItemStack(ModItems.plate_gold)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.ingot_tungsten) }, getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.ingot_tungsten)).copy()); - recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_cobalt) }, - getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_cobalt)).copy()); - recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_dura_steel), new ItemStack(ModItems.powder_meteorite) }, - getFurnaceOutput(new ItemStack(ModItems.ingot_dura_steel), new ItemStack(ModItems.powder_meteorite)).copy()); - recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_starmetal), new ItemStack(ModItems.powder_cobalt) }, - getFurnaceOutput(new ItemStack(ModItems.ingot_starmetal), new ItemStack(ModItems.powder_cobalt)).copy()); + recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.ingot_cobalt) }, + getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.ingot_cobalt)).copy()); + recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_saturnite), new ItemStack(ModItems.powder_meteorite) }, + getFurnaceOutput(new ItemStack(ModItems.ingot_saturnite), new ItemStack(ModItems.powder_meteorite)).copy()); } catch (Exception x) { MainRegistry.logger.error("Unable to register alloy recipes for NEI!"); } @@ -1314,6 +1288,8 @@ public class MachineRecipes { getCentrifugeOutput(new ItemStack(ModBlocks.block_euphemium_cluster))); recipes.put(new ItemStack(ModBlocks.ore_nether_fire), getCentrifugeOutput(new ItemStack(ModBlocks.ore_nether_fire))); + recipes.put(new ItemStack(Items.blaze_rod), + getCentrifugeOutput(new ItemStack(Items.blaze_rod))); return recipes; } @@ -5052,6 +5028,10 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.niter, 1)); list.add(new ItemStack(Items.redstone, 1)); break; + case SATURN: + list.add(new ItemStack(ModItems.powder_dura_steel, 1)); + list.add(new ItemStack(ModItems.powder_fire, 1)); + break; default: break; } @@ -5245,6 +5225,10 @@ public class MachineRecipes { case XENON: input[0] = new FluidStack(0, FluidType.NONE); break; + case SATURN: + input[0] = new FluidStack(100, FluidType.ACID); + input[1] = new FluidStack(200, FluidType.MERCURY); + break; default: break; } @@ -5365,6 +5349,9 @@ public class MachineRecipes { case SOLID_FUEL: output[0] = new ItemStack(ModItems.rocket_fuel, 1); break; + case SATURN: + output[0] = new ItemStack(ModItems.ingot_saturnite, 1); + break; default: break; } @@ -5492,194 +5479,6 @@ public class MachineRecipes { return output; } - public String[] getInfoFromItem(ItemStack stack) { - stack.stackSize = 1; - - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.asphalt)) - return new String[] { "Explosion resisant block", "Made from bitumen" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_uranium)) - return new String[] { "Block of uranium ore", "Found below Y:25" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_titanium)) - return new String[] { "Block of titanium ore", "Found below Y:35" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_sulfur)) - return new String[] { "Block of sulfur ore", "Found below Y:35", "Drops as sulfur dust" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_niter)) - return new String[] { "Block of niter ore", "Found below Y:35", "Drops as niter dust" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_copper)) - return new String[] { "Block of copper ore", "Found below Y:50" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_tungsten)) - return new String[] { "Block of tungsten ore", "Found below Y:35" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_aluminium)) - return new String[] { "Block of aluminium ore", "Found below Y:45" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_fluorite)) - return new String[] { "Block of fluorite ore", "Found below Y:40" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_beryllium)) - return new String[] { "Block of beryllium ore", "Found below Y:35" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_lead)) - return new String[] { "Block of lead ore", "Found below Y:35" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_oil)) - return new String[] { "Block of oil deposit", "Found below Y:25", "Spawns in large bubbles", "Exctractable via oil derrick" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_schrabidium)) - return new String[] { "Block of schrabidium ore", "Does not spawn naturally", "Created by nukes near uranium" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_australium)) - return new String[] { "Block of australium ore", "Found between Y:15 and Y:30", "Deposit location: X:-400, Z:-400" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_weidanium)) - return new String[] { "Block of weidanium ore", "Found below Y:25", "Deposit location: X:0, Z:300" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_reiium)) - return new String[] { "Block of reiium ore", "Found below Y:35", "Deposit location: X:0, Z:0" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_unobtainium)) - return new String[] { "Block of unobtainium ore", "Found below Y:128", "Deposit location: X:200, Z:200" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_daffergon)) - return new String[] { "Block of daffergon ore", "Found below Y:10", "Deposit location: X:400, Z:-200" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_verticium)) - return new String[] { "Block of verticium ore", "Found between Y:25 and Y:50", "Deposit location: X:-300, Z:200" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_uranium)) - return new String[] { "Block of uranium ore", "Only found in the nether" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_plutonium)) - return new String[] { "Block of plutonium ore", "Only found in the nether", "Disabled in config by default" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_tungsten)) - return new String[] { "Block of tungsten ore", "Only found in the nether" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_sulfur)) - return new String[] { "Block of sulfur ore", "Only found in the nether" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_fire)) - return new String[] { "Block of fire ore", "Only found in the nether", "Drops blaze or fire powder" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.ore_nether_schrabidium)) - return new String[] { "Block of schrabidium ore", "Does not spawn naturally" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.reinforced_brick)) - return new String[] { "Reinforced block", "Withstands nuclear explosions" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.reinforced_glass)) - return new String[] { "Reinforced block", "Withstands nuclear explosions" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.reinforced_light)) - return new String[] { "Reinforced block", "Withstands nuclear explosions" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.reinforced_sand)) - return new String[] { "Reinforced block", "Withstands nuclear explosions" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.reinforced_lamp_off)) - return new String[] { "Reinforced block", "Withstands nuclear explosions" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.brick_concrete)) - return new String[] { "Reinforced block", "Mostly withstands nukes" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.brick_obsidian)) - return new String[] { "Reinforced block", "Greatly withstands nukes" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.brick_light)) - return new String[] { "Reinforced block", "Barely withstands nukes" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.cmb_brick)) - return new String[] { "Reinforced block", "Withstands nuclear explosions" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.cmb_brick_reinforced)) - return new String[] { "Reinforced block", "Withstands nuclear explosions" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.cmb_brick_reinforced)) - return new String[] { "Reinforced block", "Withstands nuclear explosions" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.block_meteor)) - return new String[] { "Only found on space ships", "Used for late-game reactors", "Sometimes drops angry metal" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.tape_recorder)) - return new String[] { "Decorative block" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.steel_poles)) - return new String[] { "Decorative block" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.pole_top)) - return new String[] { "Decorative block" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.pole_satellite_receiver)) - return new String[] { "Decorative block" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.steel_wall)) - return new String[] { "Decorative block" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.steel_corner)) - return new String[] { "Decorative block" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.steel_roof)) - return new String[] { "Decorative block" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.steel_beam)) - return new String[] { "Decorative block" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.steel_scaffold)) - return new String[] { "Decorative block" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.mush)) - return new String[] { "Only grows on dead grass", "or on glowing mycelium", "Spreads" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.waste_earth)) - return new String[] { "Radioactive grass", "Created by nuclear explosions" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.waste_mycelium)) - return new String[] { "Radioactive mycelium", "Spreads onto dirt blocks", "Spread disabled by default" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.waste_trinitite)) - return new String[] { "Radioactive sand ore", "Created by nuclear explosions", "Drops trinitite" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.waste_trinitite_red)) - return new String[] { "Radioactive sand ore", "Created by nuclear explosions", "Drops trinitite" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.waste_log)) - return new String[] { "Burnt log block", "Created by nuclear explosions", "Drops charcoal" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.waste_planks)) - return new String[] { "Burnt planks block", "Created by nuclear explosions", "Drops charcoal" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.frozen_grass)) - return new String[] { "Frozen grass block", "Drops snowballs" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.frozen_dirt)) - return new String[] { "Frozen dirt block", "Drops snowballs" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.frozen_log)) - return new String[] { "Frozen log block", "Drops snowballs" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.frozen_planks)) - return new String[] { "Frozen planks block", "Drops snowballs" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.seal_frame)) - return new String[] { "Silo hatch frame piece", "Instructions:", "Build square from frame blocks", "Possible sizes: 3x3 - 11x11", "Add controller to any side" }; - if(stack.getItem() == Item.getItemFromBlock(ModBlocks.seal_controller)) - return new String[] { "Silo hatch controller", "Instructions:", "Build square from frame blocks", "Possible sizes: 3x3 - 11x11", "Add controller to any side" }; - - return new String[] { "xxx", "xxx" }; - } - - public Map getItemInfo() { - Map map = new HashMap(); - map.put(new ItemStack(ModBlocks.asphalt), getInfoFromItem(new ItemStack(ModBlocks.asphalt))); - map.put(new ItemStack(ModBlocks.ore_uranium), getInfoFromItem(new ItemStack(ModBlocks.ore_uranium))); - map.put(new ItemStack(ModBlocks.ore_titanium), getInfoFromItem(new ItemStack(ModBlocks.ore_titanium))); - map.put(new ItemStack(ModBlocks.ore_sulfur), getInfoFromItem(new ItemStack(ModBlocks.ore_sulfur))); - map.put(new ItemStack(ModBlocks.ore_niter), getInfoFromItem(new ItemStack(ModBlocks.ore_niter))); - map.put(new ItemStack(ModBlocks.ore_copper), getInfoFromItem(new ItemStack(ModBlocks.ore_copper))); - map.put(new ItemStack(ModBlocks.ore_tungsten), getInfoFromItem(new ItemStack(ModBlocks.ore_tungsten))); - map.put(new ItemStack(ModBlocks.ore_aluminium), getInfoFromItem(new ItemStack(ModBlocks.ore_aluminium))); - map.put(new ItemStack(ModBlocks.ore_fluorite), getInfoFromItem(new ItemStack(ModBlocks.ore_fluorite))); - map.put(new ItemStack(ModBlocks.ore_beryllium), getInfoFromItem(new ItemStack(ModBlocks.ore_beryllium))); - map.put(new ItemStack(ModBlocks.ore_lead), getInfoFromItem(new ItemStack(ModBlocks.ore_lead))); - map.put(new ItemStack(ModBlocks.ore_oil), getInfoFromItem(new ItemStack(ModBlocks.ore_oil))); - map.put(new ItemStack(ModBlocks.ore_schrabidium), getInfoFromItem(new ItemStack(ModBlocks.ore_schrabidium))); - map.put(new ItemStack(ModBlocks.ore_australium), getInfoFromItem(new ItemStack(ModBlocks.ore_australium))); - map.put(new ItemStack(ModBlocks.ore_weidanium), getInfoFromItem(new ItemStack(ModBlocks.ore_weidanium))); - map.put(new ItemStack(ModBlocks.ore_reiium), getInfoFromItem(new ItemStack(ModBlocks.ore_reiium))); - map.put(new ItemStack(ModBlocks.ore_unobtainium), getInfoFromItem(new ItemStack(ModBlocks.ore_unobtainium))); - map.put(new ItemStack(ModBlocks.ore_daffergon), getInfoFromItem(new ItemStack(ModBlocks.ore_daffergon))); - map.put(new ItemStack(ModBlocks.ore_verticium), getInfoFromItem(new ItemStack(ModBlocks.ore_verticium))); - map.put(new ItemStack(ModBlocks.ore_nether_uranium), getInfoFromItem(new ItemStack(ModBlocks.ore_nether_uranium))); - map.put(new ItemStack(ModBlocks.ore_nether_plutonium), getInfoFromItem(new ItemStack(ModBlocks.ore_nether_plutonium))); - map.put(new ItemStack(ModBlocks.ore_nether_tungsten), getInfoFromItem(new ItemStack(ModBlocks.ore_nether_tungsten))); - map.put(new ItemStack(ModBlocks.ore_nether_sulfur), getInfoFromItem(new ItemStack(ModBlocks.ore_nether_sulfur))); - map.put(new ItemStack(ModBlocks.ore_nether_fire), getInfoFromItem(new ItemStack(ModBlocks.ore_nether_fire))); - map.put(new ItemStack(ModBlocks.ore_nether_schrabidium), getInfoFromItem(new ItemStack(ModBlocks.ore_nether_schrabidium))); - map.put(new ItemStack(ModBlocks.reinforced_brick), getInfoFromItem(new ItemStack(ModBlocks.reinforced_brick))); - map.put(new ItemStack(ModBlocks.reinforced_glass), getInfoFromItem(new ItemStack(ModBlocks.reinforced_glass))); - map.put(new ItemStack(ModBlocks.reinforced_light), getInfoFromItem(new ItemStack(ModBlocks.reinforced_light))); - map.put(new ItemStack(ModBlocks.reinforced_lamp_off), getInfoFromItem(new ItemStack(ModBlocks.reinforced_lamp_off))); - map.put(new ItemStack(ModBlocks.reinforced_sand), getInfoFromItem(new ItemStack(ModBlocks.reinforced_sand))); - map.put(new ItemStack(ModBlocks.brick_concrete), getInfoFromItem(new ItemStack(ModBlocks.brick_concrete))); - map.put(new ItemStack(ModBlocks.brick_obsidian), getInfoFromItem(new ItemStack(ModBlocks.brick_obsidian))); - map.put(new ItemStack(ModBlocks.brick_light), getInfoFromItem(new ItemStack(ModBlocks.brick_light))); - map.put(new ItemStack(ModBlocks.cmb_brick), getInfoFromItem(new ItemStack(ModBlocks.cmb_brick))); - map.put(new ItemStack(ModBlocks.cmb_brick_reinforced), getInfoFromItem(new ItemStack(ModBlocks.cmb_brick_reinforced))); - map.put(new ItemStack(ModBlocks.block_meteor), getInfoFromItem(new ItemStack(ModBlocks.block_meteor))); - map.put(new ItemStack(ModBlocks.tape_recorder), getInfoFromItem(new ItemStack(ModBlocks.tape_recorder))); - map.put(new ItemStack(ModBlocks.steel_poles), getInfoFromItem(new ItemStack(ModBlocks.steel_poles))); - map.put(new ItemStack(ModBlocks.pole_top), getInfoFromItem(new ItemStack(ModBlocks.pole_top))); - map.put(new ItemStack(ModBlocks.pole_satellite_receiver), getInfoFromItem(new ItemStack(ModBlocks.pole_satellite_receiver))); - map.put(new ItemStack(ModBlocks.steel_wall), getInfoFromItem(new ItemStack(ModBlocks.steel_wall))); - map.put(new ItemStack(ModBlocks.steel_corner), getInfoFromItem(new ItemStack(ModBlocks.steel_corner))); - map.put(new ItemStack(ModBlocks.steel_roof), getInfoFromItem(new ItemStack(ModBlocks.steel_roof))); - map.put(new ItemStack(ModBlocks.steel_beam), getInfoFromItem(new ItemStack(ModBlocks.steel_beam))); - map.put(new ItemStack(ModBlocks.mush), getInfoFromItem(new ItemStack(ModBlocks.mush))); - map.put(new ItemStack(ModBlocks.waste_earth), getInfoFromItem(new ItemStack(ModBlocks.waste_earth))); - map.put(new ItemStack(ModBlocks.waste_mycelium), getInfoFromItem(new ItemStack(ModBlocks.waste_mycelium))); - map.put(new ItemStack(ModBlocks.waste_trinitite), getInfoFromItem(new ItemStack(ModBlocks.waste_trinitite))); - map.put(new ItemStack(ModBlocks.waste_trinitite_red), getInfoFromItem(new ItemStack(ModBlocks.waste_trinitite_red))); - map.put(new ItemStack(ModBlocks.waste_log), getInfoFromItem(new ItemStack(ModBlocks.waste_log))); - map.put(new ItemStack(ModBlocks.waste_planks), getInfoFromItem(new ItemStack(ModBlocks.waste_planks))); - map.put(new ItemStack(ModBlocks.frozen_grass), getInfoFromItem(new ItemStack(ModBlocks.frozen_grass))); - map.put(new ItemStack(ModBlocks.frozen_dirt), getInfoFromItem(new ItemStack(ModBlocks.frozen_dirt))); - map.put(new ItemStack(ModBlocks.frozen_log), getInfoFromItem(new ItemStack(ModBlocks.frozen_log))); - map.put(new ItemStack(ModBlocks.frozen_planks), getInfoFromItem(new ItemStack(ModBlocks.frozen_planks))); - map.put(new ItemStack(ModBlocks.seal_frame), getInfoFromItem(new ItemStack(ModBlocks.seal_frame))); - map.put(new ItemStack(ModBlocks.seal_controller), getInfoFromItem(new ItemStack(ModBlocks.seal_controller))); - - return map; - } - public Map getFluidContainers() { Map map = new HashMap(); diff --git a/com/hbm/inventory/container/ContainerMachineBattery.java b/com/hbm/inventory/container/ContainerMachineBattery.java index d3665eeba..8a6821224 100644 --- a/com/hbm/inventory/container/ContainerMachineBattery.java +++ b/com/hbm/inventory/container/ContainerMachineBattery.java @@ -17,8 +17,8 @@ public class ContainerMachineBattery extends Container { diFurnace = tedf; - this.addSlotToContainer(new Slot(tedf, 0, 26, 35)); - this.addSlotToContainer(new Slot(tedf, 1, 134, 35)); + this.addSlotToContainer(new Slot(tedf, 0, 26, 17)); + this.addSlotToContainer(new Slot(tedf, 1, 26, 53)); for(int i = 0; i < 3; i++) { diff --git a/com/hbm/inventory/gui/GUIBombMulti.java b/com/hbm/inventory/gui/GUIBombMulti.java index d14a51d5c..7f5e6f176 100644 --- a/com/hbm/inventory/gui/GUIBombMulti.java +++ b/com/hbm/inventory/gui/GUIBombMulti.java @@ -14,7 +14,7 @@ import net.minecraft.util.ResourceLocation; public class GUIBombMulti extends GuiContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/bombGeneric.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/bombGeneric.png"); private TileEntityBombMulti testNuke; public GUIBombMulti(InventoryPlayer invPlayer, TileEntityBombMulti tedf) { diff --git a/com/hbm/inventory/gui/GUICelPrime.java b/com/hbm/inventory/gui/GUICelPrime.java index 10ea154ee..a5baa9010 100644 --- a/com/hbm/inventory/gui/GUICelPrime.java +++ b/com/hbm/inventory/gui/GUICelPrime.java @@ -13,7 +13,7 @@ import net.minecraft.util.ResourceLocation; public class GUICelPrime extends GuiContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/celprime_cmd_alt_thirdslot.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/celprime_cmd_alt_thirdslot.png"); private TileEntityCelPrime testNuke; public GUICelPrime(InventoryPlayer invPlayer, TileEntityCelPrime tedf) { diff --git a/com/hbm/inventory/gui/GUILaunchPadTier1.java b/com/hbm/inventory/gui/GUILaunchPadTier1.java index edf101b35..e57b35868 100644 --- a/com/hbm/inventory/gui/GUILaunchPadTier1.java +++ b/com/hbm/inventory/gui/GUILaunchPadTier1.java @@ -13,7 +13,7 @@ import com.hbm.tileentity.bomb.TileEntityLaunchPad; public class GUILaunchPadTier1 extends GuiInfoContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_launch_pad.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_launch_pad.png"); private TileEntityLaunchPad diFurnace; public GUILaunchPadTier1(InventoryPlayer invPlayer, TileEntityLaunchPad tedf) { diff --git a/com/hbm/inventory/gui/GUIMachineBattery.java b/com/hbm/inventory/gui/GUIMachineBattery.java index 4068751ae..8415153fa 100644 --- a/com/hbm/inventory/gui/GUIMachineBattery.java +++ b/com/hbm/inventory/gui/GUIMachineBattery.java @@ -1,6 +1,7 @@ package com.hbm.inventory.gui; import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; @@ -9,16 +10,18 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineBattery; import com.hbm.lib.RefStrings; +import com.hbm.packet.AuxButtonPacket; +import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.machine.TileEntityMachineBattery; public class GUIMachineBattery extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_battery.png"); - private TileEntityMachineBattery diFurnace; + private TileEntityMachineBattery battery; public GUIMachineBattery(InventoryPlayer invPlayer, TileEntityMachineBattery tedf) { super(new ContainerMachineBattery(invPlayer, tedf)); - diFurnace = tedf; + battery = tedf; this.xSize = 176; this.ySize = 166; @@ -28,18 +31,34 @@ public class GUIMachineBattery extends GuiInfoContainer { public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 62, guiTop + 69 - 52, 52, 52, diFurnace.power, diFurnace.maxPower); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 62, guiTop + 69 - 52, 52, 52, battery.power, battery.maxPower); - String[] text = new String[] { "Only stores power by default.", - "Apply redstone signal to set it to", - "output mode." }; + String[] text = new String[] { "Click the buttons on the right", + "to change battery behavior for", + "when redstone is or isn't applied." }; this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); } + + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 133 <= x && guiLeft + 133 + 18 > x && guiTop + 16 < y && guiTop + 16 + 18 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(battery.xCoord, battery.yCoord, battery.zCoord, 0, 0)); + } + + if(guiLeft + 133 <= x && guiLeft + 133 + 18 > x && guiTop + 52 < y && guiTop + 52 + 18 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(battery.xCoord, battery.yCoord, battery.zCoord, 0, 1)); + } + } @Override protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); - name += (" (" + this.diFurnace.power + " HE)"); + String name = this.battery.hasCustomInventoryName() ? this.battery.getInventoryName() : I18n.format(this.battery.getInventoryName()); + name += (" (" + this.battery.power + " HE)"); this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); @@ -51,10 +70,16 @@ public class GUIMachineBattery extends GuiInfoContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - if(diFurnace.power > 0) { - int i = (int)diFurnace.getPowerRemainingScaled(52); + if(battery.power > 0) { + int i = (int)battery.getPowerRemainingScaled(52); drawTexturedModalRect(guiLeft + 62, guiTop + 69 - i, 176, 52 - i, 52, i); } + + int i = battery.redLow; + drawTexturedModalRect(guiLeft + 133, guiTop + 16, 176, 52 + i * 18, 18, 18); + + int j = battery.redHigh; + drawTexturedModalRect(guiLeft + 133, guiTop + 52, 176, 52 + j * 18, 18, 18); this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2); } diff --git a/com/hbm/inventory/gui/GUIMachineCompactLauncher.java b/com/hbm/inventory/gui/GUIMachineCompactLauncher.java index f316c2fb2..a41dc8953 100644 --- a/com/hbm/inventory/gui/GUIMachineCompactLauncher.java +++ b/com/hbm/inventory/gui/GUIMachineCompactLauncher.java @@ -17,7 +17,7 @@ import net.minecraft.util.ResourceLocation; public class GUIMachineCompactLauncher extends GuiInfoContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_launch_table_small.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_launch_table_small.png"); private TileEntityCompactLauncher launcher; public GUIMachineCompactLauncher(InventoryPlayer invPlayer, TileEntityCompactLauncher tedf) { diff --git a/com/hbm/inventory/gui/GUIMachineLaunchTable.java b/com/hbm/inventory/gui/GUIMachineLaunchTable.java index 1e517a4ac..f1ba99a27 100644 --- a/com/hbm/inventory/gui/GUIMachineLaunchTable.java +++ b/com/hbm/inventory/gui/GUIMachineLaunchTable.java @@ -22,7 +22,7 @@ import net.minecraft.util.ResourceLocation; public class GUIMachineLaunchTable extends GuiInfoContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_launch_table.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_launch_table.png"); private TileEntityLaunchTable launcher; public GUIMachineLaunchTable(InventoryPlayer invPlayer, TileEntityLaunchTable tedf) { diff --git a/com/hbm/inventory/gui/GUIMachineSiren.java b/com/hbm/inventory/gui/GUIMachineSiren.java index 1dd6bb3c2..560f91f69 100644 --- a/com/hbm/inventory/gui/GUIMachineSiren.java +++ b/com/hbm/inventory/gui/GUIMachineSiren.java @@ -3,7 +3,7 @@ package com.hbm.inventory.gui; import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineSiren; -import com.hbm.items.tool.ItemCassette.TrackType; +import com.hbm.items.machine.ItemCassette.TrackType; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineSiren; diff --git a/com/hbm/inventory/gui/GUINukeBoy.java b/com/hbm/inventory/gui/GUINukeBoy.java index 330d892e4..43640fb1d 100644 --- a/com/hbm/inventory/gui/GUINukeBoy.java +++ b/com/hbm/inventory/gui/GUINukeBoy.java @@ -15,7 +15,7 @@ import net.minecraft.util.ResourceLocation; public class GUINukeBoy extends GuiContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/lilBoySchematic.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/lilBoySchematic.png"); private TileEntityNukeBoy testNuke; public GUINukeBoy(InventoryPlayer invPlayer, TileEntityNukeBoy tedf) { diff --git a/com/hbm/inventory/gui/GUINukeCustom.java b/com/hbm/inventory/gui/GUINukeCustom.java index 510ba5a57..668eb3f34 100644 --- a/com/hbm/inventory/gui/GUINukeCustom.java +++ b/com/hbm/inventory/gui/GUINukeCustom.java @@ -14,7 +14,7 @@ import net.minecraft.util.ResourceLocation; public class GUINukeCustom extends GuiContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gunBombSchematic.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gunBombSchematic.png"); private TileEntityNukeCustom testNuke; public GUINukeCustom(InventoryPlayer invPlayer, TileEntityNukeCustom tedf) { diff --git a/com/hbm/inventory/gui/GUINukeFleija.java b/com/hbm/inventory/gui/GUINukeFleija.java index b5b2c1f7e..3d8eb6eb4 100644 --- a/com/hbm/inventory/gui/GUINukeFleija.java +++ b/com/hbm/inventory/gui/GUINukeFleija.java @@ -15,7 +15,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeFleija; public class GUINukeFleija extends GuiContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/fleijaSchematic.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/fleijaSchematic.png"); private TileEntityNukeFleija testNuke; public GUINukeFleija(InventoryPlayer invPlayer, TileEntityNukeFleija tedf) { diff --git a/com/hbm/inventory/gui/GUINukeGadget.java b/com/hbm/inventory/gui/GUINukeGadget.java index 4146533b8..e8f533d9b 100644 --- a/com/hbm/inventory/gui/GUINukeGadget.java +++ b/com/hbm/inventory/gui/GUINukeGadget.java @@ -14,7 +14,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeGadget; public class GUINukeGadget extends GuiContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gadgetSchematic.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gadgetSchematic.png"); private TileEntityNukeGadget testNuke; public GUINukeGadget(InventoryPlayer invPlayer, TileEntityNukeGadget tedf) { diff --git a/com/hbm/inventory/gui/GUINukeMike.java b/com/hbm/inventory/gui/GUINukeMike.java index c2b3cbfce..22e85fcb9 100644 --- a/com/hbm/inventory/gui/GUINukeMike.java +++ b/com/hbm/inventory/gui/GUINukeMike.java @@ -14,7 +14,7 @@ import net.minecraft.util.ResourceLocation; public class GUINukeMike extends GuiContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/ivyMikeSchematic.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/ivyMikeSchematic.png"); private TileEntityNukeMike testNuke; public GUINukeMike(InventoryPlayer invPlayer, TileEntityNukeMike tedf) { diff --git a/com/hbm/inventory/gui/GUINukeN2.java b/com/hbm/inventory/gui/GUINukeN2.java index 735587e1b..a9a8d01b8 100644 --- a/com/hbm/inventory/gui/GUINukeN2.java +++ b/com/hbm/inventory/gui/GUINukeN2.java @@ -14,7 +14,7 @@ import net.minecraft.util.ResourceLocation; public class GUINukeN2 extends GuiContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/n2Schematic.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/n2Schematic.png"); private TileEntityNukeN2 testNuke; public GUINukeN2(InventoryPlayer invPlayer, TileEntityNukeN2 tedf) { diff --git a/com/hbm/inventory/gui/GUINukeN45.java b/com/hbm/inventory/gui/GUINukeN45.java index 81f62f0a6..055cc2a30 100644 --- a/com/hbm/inventory/gui/GUINukeN45.java +++ b/com/hbm/inventory/gui/GUINukeN45.java @@ -12,7 +12,7 @@ import net.minecraft.util.ResourceLocation; public class GUINukeN45 extends GuiInfoContainer { - public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_n45.png"); + public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_n45.png"); private TileEntityNukeN45 diFurnace; public GUINukeN45(InventoryPlayer invPlayer, TileEntityNukeN45 tedf) { diff --git a/com/hbm/inventory/gui/GUINukePrototype.java b/com/hbm/inventory/gui/GUINukePrototype.java index 9a248c4c4..7d472b124 100644 --- a/com/hbm/inventory/gui/GUINukePrototype.java +++ b/com/hbm/inventory/gui/GUINukePrototype.java @@ -14,7 +14,7 @@ import com.hbm.tileentity.bomb.TileEntityNukePrototype; public class GUINukePrototype extends GuiContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_prototype.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_prototype.png"); private TileEntityNukePrototype testNuke; public GUINukePrototype(InventoryPlayer invPlayer, TileEntityNukePrototype tedf) { diff --git a/com/hbm/inventory/gui/GUINukeSolinium.java b/com/hbm/inventory/gui/GUINukeSolinium.java index 965b78b8a..2228c0d19 100644 --- a/com/hbm/inventory/gui/GUINukeSolinium.java +++ b/com/hbm/inventory/gui/GUINukeSolinium.java @@ -15,7 +15,7 @@ import net.minecraft.util.ResourceLocation; public class GUINukeSolinium extends GuiContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/soliniumSchematic.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/soliniumSchematic.png"); private TileEntityNukeSolinium testNuke; public GUINukeSolinium(InventoryPlayer invPlayer, TileEntityNukeSolinium tedf) { diff --git a/com/hbm/inventory/gui/GUINukeTsar.java b/com/hbm/inventory/gui/GUINukeTsar.java index c272c9282..d610d597f 100644 --- a/com/hbm/inventory/gui/GUINukeTsar.java +++ b/com/hbm/inventory/gui/GUINukeTsar.java @@ -14,7 +14,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeTsar; public class GUINukeTsar extends GuiContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/tsarBombaSchematic.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/tsarBombaSchematic.png"); private TileEntityNukeTsar testNuke; public GUINukeTsar(InventoryPlayer invPlayer, TileEntityNukeTsar tedf) { diff --git a/com/hbm/inventory/gui/GUIScreenTemplateFolder.java b/com/hbm/inventory/gui/GUIScreenTemplateFolder.java index dbdbdf676..2699ad003 100644 --- a/com/hbm/inventory/gui/GUIScreenTemplateFolder.java +++ b/com/hbm/inventory/gui/GUIScreenTemplateFolder.java @@ -9,11 +9,11 @@ import org.lwjgl.opengl.GL11; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.inventory.MachineRecipes; import com.hbm.items.ModItems; -import com.hbm.items.tool.ItemAssemblyTemplate.EnumAssemblyTemplate; -import com.hbm.items.tool.ItemCassette; -import com.hbm.items.tool.ItemCassette.TrackType; -import com.hbm.items.tool.ItemChemistryTemplate; -import com.hbm.items.tool.ItemFluidIdentifier; +import com.hbm.items.machine.ItemCassette; +import com.hbm.items.machine.ItemChemistryTemplate; +import com.hbm.items.machine.ItemFluidIdentifier; +import com.hbm.items.machine.ItemAssemblyTemplate.EnumAssemblyTemplate; +import com.hbm.items.machine.ItemCassette.TrackType; import com.hbm.lib.RefStrings; import com.hbm.packet.ItemFolderPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/inventory/gui/GUITestNuke.java b/com/hbm/inventory/gui/GUITestNuke.java index eaf4e9c69..f616a4a92 100644 --- a/com/hbm/inventory/gui/GUITestNuke.java +++ b/com/hbm/inventory/gui/GUITestNuke.java @@ -14,7 +14,7 @@ import com.hbm.tileentity.bomb.TileEntityTestNuke; public class GUITestNuke extends GuiContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gunBombSchematicSmall.png"); + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gunBombSchematicSmall.png"); private TileEntityTestNuke testNuke; public GUITestNuke(InventoryPlayer invPlayer, TileEntityTestNuke tedf) { diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 4de6cc9f0..4caf0e73e 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -2,6 +2,7 @@ package com.hbm.items; import com.hbm.blocks.ModBlocks; import com.hbm.handler.BucketHandler; +import com.hbm.handler.ToolAbility; import com.hbm.handler.guncfg.Gun12GaugeFactory; import com.hbm.handler.guncfg.Gun20GaugeFactory; import com.hbm.handler.guncfg.Gun22LRFactory; @@ -18,11 +19,31 @@ import com.hbm.handler.guncfg.GunGaussFactory; import com.hbm.handler.guncfg.GunGrenadeFactory; import com.hbm.handler.guncfg.GunOSIPRFactory; import com.hbm.handler.guncfg.GunRocketFactory; +import com.hbm.items.armor.*; import com.hbm.items.bomb.*; import com.hbm.items.food.*; -import com.hbm.items.gear.*; +import com.hbm.items.machine.ItemAssemblyTemplate; +import com.hbm.items.machine.ItemBattery; +import com.hbm.items.machine.ItemBlades; +import com.hbm.items.machine.ItemCapacitor; +import com.hbm.items.machine.ItemCassette; +import com.hbm.items.machine.ItemCatalyst; +import com.hbm.items.machine.ItemChemistryIcon; +import com.hbm.items.machine.ItemChemistryTemplate; +import com.hbm.items.machine.ItemFluidDuct; +import com.hbm.items.machine.ItemFluidIcon; +import com.hbm.items.machine.ItemFluidIdentifier; +import com.hbm.items.machine.ItemFluidTank; +import com.hbm.items.machine.ItemFuelRod; +import com.hbm.items.machine.ItemLens; +import com.hbm.items.machine.ItemReactorSensor; +import com.hbm.items.machine.ItemSatChip; +import com.hbm.items.machine.ItemTemplateFolder; +import com.hbm.items.machine.ItemTurretBiometry; +import com.hbm.items.machine.ItemTurretChip; import com.hbm.items.special.*; import com.hbm.items.tool.*; +import com.hbm.items.tool.ItemToolAbility.EnumToolType; import com.hbm.items.weapon.*; import com.hbm.items.weapon.ItemMissile.FuelType; import com.hbm.items.weapon.ItemMissile.PartSize; @@ -1117,6 +1138,10 @@ public class ModItems { public static Item ammo_grenade_finned; public static Item ammo_grenade_sleek; public static Item ammo_grenade_nuclear; + public static Item ammo_fuel; + public static Item ammo_fuel_napalm; + public static Item ammo_fuel_phosphorus; + public static Item ammo_fuel_gas; public static Item gun_rpg; public static Item gun_rpg_ammo; @@ -1195,6 +1220,7 @@ public class ModItems { public static Item gun_osipr_ammo2; public static Item gun_immolator; public static Item gun_immolator_ammo; + public static Item gun_flamer; public static Item gun_cryolator; public static Item gun_cryolator_ammo; public static Item gun_mp; @@ -2572,7 +2598,7 @@ public class ModItems { rod_quad_waste = new ItemRadioactive(60F).setUnlocalizedName("rod_quad_waste").setMaxStackSize(1).setCreativeTab(null).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_waste"); pellet_cluster = new ItemCustomLore().setUnlocalizedName("pellet_cluster").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_cluster"); - powder_fire = new ItemCustomLore().setUnlocalizedName("powder_fire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_fire"); + powder_fire = new ItemCustomLore().setUnlocalizedName("powder_fire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_red_phosphorus"); powder_ice = new ItemCustomLore().setUnlocalizedName("powder_ice").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_ice"); powder_poison = new ItemCustomLore().setUnlocalizedName("powder_poison").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_poison"); powder_thermite = new ItemCustomLore().setUnlocalizedName("powder_thermite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_thermite"); @@ -2855,6 +2881,10 @@ public class ModItems { ammo_grenade_finned = new ItemAmmo().setUnlocalizedName("ammo_grenade_finned").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_finned"); ammo_grenade_sleek = new ItemAmmo().setUnlocalizedName("ammo_grenade_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_sleek"); ammo_grenade_nuclear = new ItemAmmo().setUnlocalizedName("ammo_grenade_nuclear").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_nuclear"); + ammo_fuel = new ItemAmmo().setUnlocalizedName("ammo_fuel").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fuel"); + ammo_fuel_napalm = new ItemAmmo().setUnlocalizedName("ammo_fuel_napalm").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fuel_napalm"); + ammo_fuel_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_fuel_phosphorus").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fuel_phosphorus"); + ammo_fuel_gas = new ItemAmmo().setUnlocalizedName("ammo_fuel_gas").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fuel_gas"); gun_rpg = new ItemGunBase(GunRocketFactory.getGustavConfig()).setUnlocalizedName("gun_rpg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_rpg"); gun_karl = new ItemGunBase(GunRocketFactory.getKarlConfig()).setUnlocalizedName("gun_karl").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_karl"); @@ -2865,7 +2895,6 @@ public class ModItems { gun_skystinger = new GunStinger().setUnlocalizedName("gun_skystinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_skystinger"); gun_stinger_ammo = new Item().setUnlocalizedName("gun_stinger_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_stinger_ammo"); gun_revolver_ammo = new Item().setUnlocalizedName("gun_revolver_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_ammo"); - //gun_revolver = new GunRevolver(gun_revolver_ammo, 10, 25, false, false).setMaxDamage(500).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver"); gun_revolver = new ItemGunBase(Gun357MagnumFactory.getRevolverConfig()).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver"); gun_revolver_saturnite = new ItemGunBase(Gun357MagnumFactory.getRevolverSaturniteConfig()).setUnlocalizedName("gun_revolver_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_saturnite"); gun_revolver_iron_ammo = new Item().setUnlocalizedName("gun_revolver_iron_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron_ammo"); @@ -2934,6 +2963,7 @@ public class ModItems { gun_osipr = new ItemGunOSIPR(GunOSIPRFactory.getOSIPRConfig(), GunOSIPRFactory.getAltConfig()).setUnlocalizedName("gun_osipr").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_osipr"); gun_immolator_ammo = new Item().setUnlocalizedName("gun_immolator_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_immolator_ammo"); gun_immolator = new GunImmolator().setUnlocalizedName("gun_immolator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_immolator"); + gun_flamer = new ItemGunBase(GunEnergyFactory.getFlamerConfig()).setUnlocalizedName("gun_flamer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_flamer"); gun_cryolator_ammo = new Item().setUnlocalizedName("gun_cryolator_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_cryolator_ammo"); gun_cryolator = new GunCryolator().setUnlocalizedName("gun_cryolator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_cryolator"); gun_mp_ammo = new ItemCustomLore().setUnlocalizedName("gun_mp_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_pm_ammo"); @@ -3243,7 +3273,6 @@ public class ModItems { crate_caller = new ItemCrateCaller().setUnlocalizedName("crate_caller").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":crate_caller"); bomb_caller = new ItemBombCaller().setUnlocalizedName("bomb_caller").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bomb_caller"); meteor_remote = new ItemMeteorRemote().setUnlocalizedName("meteor_remote").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":meteor_remote"); - remote = new ItemRamManipulator().setUnlocalizedName("remote").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":remote"); chopper = new ItemChopper().setUnlocalizedName("chopper").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":chopper"); linker = new ItemTeleLink().setUnlocalizedName("linker").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":linker"); reactor_sensor = new ItemReactorSensor().setUnlocalizedName("reactor_sensor").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":reactor_sensor"); @@ -3361,39 +3390,96 @@ public class ModItems { jackt = new ModArmor(MainRegistry.aMatSteel, 7, 1).setUnlocalizedName("jackt").setTextureName(RefStrings.MODID + ":jackt"); jackt2 = new ModArmor(MainRegistry.aMatSteel, 7, 1).setUnlocalizedName("jackt2").setTextureName(RefStrings.MODID + ":jackt2"); - 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_sword = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialSchrabidium, EnumToolType.SWORD).setUnlocalizedName("schrabidium_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_sword"); + + schrabidium_pickaxe = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialSchrabidium, EnumToolType.PICKAXE) + .addBreakAbility(new ToolAbility.HammerAbility(2)) + .addBreakAbility(new ToolAbility.RecursionAbility(10)) + .addBreakAbility(new ToolAbility.SmelterAbility()) + .addBreakAbility(new ToolAbility.ShredderAbility()).setUnlocalizedName("schrabidium_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_pickaxe"); + + schrabidium_axe = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialSchrabidium, EnumToolType.AXE) + .addBreakAbility(new ToolAbility.HammerAbility(2)) + .addBreakAbility(new ToolAbility.RecursionAbility(10)) + .addBreakAbility(new ToolAbility.SmelterAbility()) + .addBreakAbility(new ToolAbility.ShredderAbility()).setUnlocalizedName("schrabidium_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_axe"); + + schrabidium_shovel = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialSchrabidium, EnumToolType.SHOVEL) + .addBreakAbility(new ToolAbility.HammerAbility(2)) + .addBreakAbility(new ToolAbility.RecursionAbility(10)) + .addBreakAbility(new ToolAbility.SmelterAbility()) + .addBreakAbility(new ToolAbility.ShredderAbility()).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"); - titanium_sword = new ModSword(MainRegistry.enumToolMaterialTitanium).setUnlocalizedName("titanium_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_sword"); - titanium_pickaxe = new ModPickaxe(MainRegistry.enumToolMaterialTitanium).setUnlocalizedName("titanium_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_pickaxe"); - titanium_axe = new ModAxe(MainRegistry.enumToolMaterialTitanium).setUnlocalizedName("titanium_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_axe"); - titanium_shovel = new ModSpade(MainRegistry.enumToolMaterialTitanium).setUnlocalizedName("titanium_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_shovel"); + + titanium_sword = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialTitanium, EnumToolType.SWORD).setUnlocalizedName("titanium_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_sword"); + titanium_pickaxe = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialTitanium, EnumToolType.PICKAXE).setUnlocalizedName("titanium_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_pickaxe"); + titanium_axe = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialTitanium, EnumToolType.AXE).setUnlocalizedName("titanium_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_axe"); + titanium_shovel = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialTitanium, EnumToolType.SHOVEL).setUnlocalizedName("titanium_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_shovel"); titanium_hoe = new ModHoe(MainRegistry.enumToolMaterialTitanium).setUnlocalizedName("titanium_hoe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_hoe"); - steel_sword = new ModSword(MainRegistry.enumToolMaterialSteel).setUnlocalizedName("steel_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_sword"); - steel_pickaxe = new ModPickaxe(MainRegistry.enumToolMaterialSteel).setUnlocalizedName("steel_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_pickaxe"); - steel_axe = new ModAxe(MainRegistry.enumToolMaterialSteel).setUnlocalizedName("steel_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_axe"); - steel_shovel = new ModSpade(MainRegistry.enumToolMaterialSteel).setUnlocalizedName("steel_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_shovel"); + steel_sword = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialSteel, EnumToolType.SWORD).setUnlocalizedName("steel_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_sword"); + steel_pickaxe = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialSteel, EnumToolType.PICKAXE).setUnlocalizedName("steel_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_pickaxe"); + steel_axe = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialSteel, EnumToolType.AXE).setUnlocalizedName("steel_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_axe"); + steel_shovel = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialSteel, EnumToolType.SHOVEL).setUnlocalizedName("steel_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_shovel"); steel_hoe = new ModHoe(MainRegistry.enumToolMaterialSteel).setUnlocalizedName("steel_hoe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steel_hoe"); - alloy_sword = new ModSword(MainRegistry.enumToolMaterialAlloy).setUnlocalizedName("alloy_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_sword"); - alloy_pickaxe = new ModPickaxe(MainRegistry.enumToolMaterialAlloy).setUnlocalizedName("alloy_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_pickaxe"); - alloy_axe = new ModAxe(MainRegistry.enumToolMaterialAlloy).setUnlocalizedName("alloy_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_axe"); - alloy_shovel = new ModSpade(MainRegistry.enumToolMaterialAlloy).setUnlocalizedName("alloy_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_shovel"); + + alloy_sword = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialAlloy, EnumToolType.SWORD).setUnlocalizedName("alloy_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_sword"); + + alloy_pickaxe = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialAlloy, EnumToolType.PICKAXE) + .addBreakAbility(new ToolAbility.RecursionAbility(3)).setUnlocalizedName("alloy_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_pickaxe"); + + alloy_axe = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialAlloy, EnumToolType.AXE) + .addBreakAbility(new ToolAbility.RecursionAbility(3)).setUnlocalizedName("alloy_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_axe"); + + alloy_shovel = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialAlloy, EnumToolType.SHOVEL) + .addBreakAbility(new ToolAbility.RecursionAbility(3)).setUnlocalizedName("alloy_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_shovel"); + alloy_hoe = new ModHoe(MainRegistry.enumToolMaterialAlloy).setUnlocalizedName("alloy_hoe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":alloy_hoe"); - cmb_sword = new ModSword(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_sword"); - cmb_pickaxe = new ModPickaxe(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_pickaxe"); - cmb_axe = new ModAxe(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_axe"); - cmb_shovel = new ModSpade(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_shovel"); + + cmb_sword = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialCmb, EnumToolType.SWORD).setUnlocalizedName("cmb_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_sword"); + + cmb_pickaxe = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialCmb, EnumToolType.PICKAXE) + .addBreakAbility(new ToolAbility.RecursionAbility(5)) + .addBreakAbility(new ToolAbility.SmelterAbility()).setUnlocalizedName("cmb_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_pickaxe"); + + cmb_axe = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialCmb, EnumToolType.AXE) + .addBreakAbility(new ToolAbility.RecursionAbility(5)) + .addBreakAbility(new ToolAbility.SmelterAbility()).setUnlocalizedName("cmb_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_axe"); + + cmb_shovel = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialCmb, EnumToolType.SHOVEL) + .addBreakAbility(new ToolAbility.RecursionAbility(5)) + .addBreakAbility(new ToolAbility.SmelterAbility()).setUnlocalizedName("cmb_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_shovel"); + cmb_hoe = new ModHoe(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_hoe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_hoe"); - elec_sword = new ModSword(MainRegistry.enumToolMaterialElec).setUnlocalizedName("elec_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_sword_anim"); - elec_pickaxe = new ModPickaxe(MainRegistry.enumToolMaterialElec).setUnlocalizedName("elec_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_drill_anim"); - elec_axe = new ModAxe(MainRegistry.enumToolMaterialElec).setUnlocalizedName("elec_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_chainsaw_anim"); - elec_shovel = new ModSpade(MainRegistry.enumToolMaterialElec).setUnlocalizedName("elec_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_shovel_anim"); - desh_sword = new ModSword(MainRegistry.enumToolMaterialDesh).setUnlocalizedName("desh_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":desh_sword"); - desh_pickaxe = new ModPickaxe(MainRegistry.enumToolMaterialDesh).setUnlocalizedName("desh_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":desh_pickaxe"); - desh_axe = new ModAxe(MainRegistry.enumToolMaterialDesh).setUnlocalizedName("desh_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":desh_axe"); - desh_shovel = new ModSpade(MainRegistry.enumToolMaterialDesh).setUnlocalizedName("desh_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":desh_shovel"); + + elec_sword = new ItemToolAbilityPower(5, 0, MainRegistry.enumToolMaterialElec, EnumToolType.SWORD, 500000, 1000, 100).setUnlocalizedName("elec_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_sword_anim"); + + elec_pickaxe = new ItemToolAbilityPower(5, 0, MainRegistry.enumToolMaterialElec, EnumToolType.PICKAXE, 500000, 1000, 100) + .addBreakAbility(new ToolAbility.HammerAbility(2)) + .addBreakAbility(new ToolAbility.RecursionAbility(5)).setUnlocalizedName("elec_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_drill_anim"); + + elec_axe = new ItemToolAbilityPower(5, 0, MainRegistry.enumToolMaterialElec, EnumToolType.AXE, 500000, 1000, 100) + .addBreakAbility(new ToolAbility.HammerAbility(2)) + .addBreakAbility(new ToolAbility.RecursionAbility(5)).setUnlocalizedName("elec_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_chainsaw_anim"); + + elec_shovel = new ItemToolAbilityPower(5, 0, MainRegistry.enumToolMaterialElec, EnumToolType.SHOVEL, 500000, 1000, 100) + .addBreakAbility(new ToolAbility.HammerAbility(2)) + .addBreakAbility(new ToolAbility.RecursionAbility(5)).setUnlocalizedName("elec_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_shovel_anim"); + + desh_sword = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialDesh, EnumToolType.SWORD).setUnlocalizedName("desh_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":desh_sword"); + + desh_pickaxe = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialDesh, EnumToolType.PICKAXE) + .addBreakAbility(new ToolAbility.HammerAbility(1)) + .addBreakAbility(new ToolAbility.RecursionAbility(3)).setUnlocalizedName("desh_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":desh_pickaxe"); + + desh_axe = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialDesh, EnumToolType.AXE) + .addBreakAbility(new ToolAbility.HammerAbility(1)) + .addBreakAbility(new ToolAbility.RecursionAbility(3)).setUnlocalizedName("desh_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":desh_axe"); + + desh_shovel = new ItemToolAbility(5, 0, MainRegistry.enumToolMaterialDesh, EnumToolType.SHOVEL) + .addBreakAbility(new ToolAbility.HammerAbility(1)) + .addBreakAbility(new ToolAbility.RecursionAbility(3)).setUnlocalizedName("desh_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":desh_shovel"); + desh_hoe = new ModHoe(MainRegistry.enumToolMaterialDesh).setUnlocalizedName("desh_hoe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":desh_hoe"); mask_of_infamy = new MaskOfInfamy(ArmorMaterial.IRON, 8, 0).setUnlocalizedName("mask_of_infamy").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mask_of_infamy"); @@ -3416,8 +3502,6 @@ public class ModItems { hazmat_paa_boots = new ArmorHazmat(MainRegistry.aMatPaa, 9, 3).setUnlocalizedName("hazmat_paa_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_paa_boots"); australium_iii = new ArmorAustralium(MainRegistry.aMatAus3, 9, 1).setUnlocalizedName("australium_iii").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":australium_iii"); - //australium_iv = new ArmorAustralium(MainRegistry.enumArmorMaterialAusIV, 9, 1).setUnlocalizedName("australium_iv").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":australium_iv"); - //australium_v = new ArmorAustralium(MainRegistry.enumArmorMaterialAusV, 9, 1).setUnlocalizedName("australium_v").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":australium_v"); jetpack_boost = new JetpackBooster(MainRegistry.aMatSteel, 9, 1).setUnlocalizedName("jetpack_boost").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_boost"); jetpack_break = new JetpackBreak(MainRegistry.aMatSteel, 9, 1).setUnlocalizedName("jetpack_break").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_break"); @@ -3428,13 +3512,6 @@ public class ModItems { cape_radiation = new ArmorModel(ArmorMaterial.CHAIN, 9, 1).setUnlocalizedName("cape_radiation").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_radiation"); cape_gasmask = new ArmorModel(ArmorMaterial.CHAIN, 9, 1).setUnlocalizedName("cape_gasmask").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_gasmask"); cape_schrabidium = new ArmorModel(MainRegistry.aMatSchrab, 9, 1).setUnlocalizedName("cape_schrabidium").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_schrabidium"); - //cape_hbm = new ArmorModel(MainRegistry.enumArmorMaterialSchrabidium, 9, 1).setUnlocalizedName("cape_hbm").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); - //cape_dafnik = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_dafnik").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); - //cape_lpkukin = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_lpkukin").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); - //cape_vertice = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_vertice").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); - //cape_codered_ = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_codered_").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); - //cape_ayy = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_ayy").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); - //cape_nostalgia = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_nostalgia").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); schrabidium_hammer = new WeaponSpecial(MainRegistry.enumToolMaterialHammer).setUnlocalizedName("schrabidium_hammer").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_hammer"); shimmer_sledge = new WeaponSpecial(MainRegistry.enumToolMaterialSledge).setUnlocalizedName("shimmer_sledge").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":shimmer_sledge_original"); @@ -4729,6 +4806,7 @@ public class ModItems { GameRegistry.registerItem(gun_xvl1456, gun_xvl1456.getUnlocalizedName()); GameRegistry.registerItem(gun_osipr, gun_osipr.getUnlocalizedName()); GameRegistry.registerItem(gun_immolator, gun_immolator.getUnlocalizedName()); + GameRegistry.registerItem(gun_flamer, gun_flamer.getUnlocalizedName()); GameRegistry.registerItem(gun_cryolator, gun_cryolator.getUnlocalizedName()); GameRegistry.registerItem(gun_mp, gun_mp.getUnlocalizedName()); GameRegistry.registerItem(gun_brimstone, gun_brimstone.getUnlocalizedName()); @@ -4831,6 +4909,10 @@ public class ModItems { GameRegistry.registerItem(ammo_50bmg_explosive, ammo_50bmg_explosive.getUnlocalizedName()); GameRegistry.registerItem(ammo_50bmg_du, ammo_50bmg_du.getUnlocalizedName()); GameRegistry.registerItem(ammo_50bmg_star, ammo_50bmg_star.getUnlocalizedName()); + GameRegistry.registerItem(ammo_fuel, ammo_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ammo_fuel_napalm, ammo_fuel_napalm.getUnlocalizedName()); + GameRegistry.registerItem(ammo_fuel_phosphorus, ammo_fuel_phosphorus.getUnlocalizedName()); + GameRegistry.registerItem(ammo_fuel_gas, ammo_fuel_gas.getUnlocalizedName()); GameRegistry.registerItem(ammo_rocket, ammo_rocket.getUnlocalizedName()); GameRegistry.registerItem(ammo_rocket_he, ammo_rocket_he.getUnlocalizedName()); GameRegistry.registerItem(ammo_rocket_incendiary, ammo_rocket_incendiary.getUnlocalizedName()); diff --git a/com/hbm/items/gear/ArmorAsbestos.java b/com/hbm/items/armor/ArmorAsbestos.java similarity index 96% rename from com/hbm/items/gear/ArmorAsbestos.java rename to com/hbm/items/armor/ArmorAsbestos.java index 67d68c152..b0933fdd2 100644 --- a/com/hbm/items/gear/ArmorAsbestos.java +++ b/com/hbm/items/armor/ArmorAsbestos.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ScaledResolution; diff --git a/com/hbm/items/gear/ArmorAustralium.java b/com/hbm/items/armor/ArmorAustralium.java similarity index 98% rename from com/hbm/items/gear/ArmorAustralium.java rename to com/hbm/items/armor/ArmorAustralium.java index 6b1385e30..d80382cee 100644 --- a/com/hbm/items/gear/ArmorAustralium.java +++ b/com/hbm/items/armor/ArmorAustralium.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import java.util.List; import java.util.Random; diff --git a/com/hbm/items/gear/ArmorEuphemium.java b/com/hbm/items/armor/ArmorEuphemium.java similarity index 86% rename from com/hbm/items/gear/ArmorEuphemium.java rename to com/hbm/items/armor/ArmorEuphemium.java index 6ca1db9c2..2a9a3e0f9 100644 --- a/com/hbm/items/gear/ArmorEuphemium.java +++ b/com/hbm/items/armor/ArmorEuphemium.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -9,8 +9,8 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.world.World; +import com.hbm.handler.ArmorUtil; import com.hbm.items.ModItems; -import com.hbm.lib.Library; import com.hbm.lib.RefStrings; public class ArmorEuphemium extends ItemArmor { @@ -36,7 +36,7 @@ public class ArmorEuphemium extends ItemArmor { @Override public void onArmorTick(World world, EntityPlayer player, ItemStack armor) { - if(player instanceof EntityPlayer && Library.checkArmor(player, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots)) + if(player instanceof EntityPlayer && ArmorUtil.checkArmor(player, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots)) { player.addPotionEffect(new PotionEffect(Potion.regeneration.id, 5, 127, true)); player.addPotionEffect(new PotionEffect(Potion.resistance.id, 5, 127, true)); diff --git a/com/hbm/items/gear/ArmorFSB.java b/com/hbm/items/armor/ArmorFSB.java similarity index 99% rename from com/hbm/items/gear/ArmorFSB.java rename to com/hbm/items/armor/ArmorFSB.java index dcfce0e1e..9299171b1 100644 --- a/com/hbm/items/gear/ArmorFSB.java +++ b/com/hbm/items/armor/ArmorFSB.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import java.util.ArrayList; import java.util.HashMap; diff --git a/com/hbm/items/gear/ArmorHazmat.java b/com/hbm/items/armor/ArmorHazmat.java similarity index 97% rename from com/hbm/items/gear/ArmorHazmat.java rename to com/hbm/items/armor/ArmorHazmat.java index bbd256364..b6ce3807e 100644 --- a/com/hbm/items/gear/ArmorHazmat.java +++ b/com/hbm/items/armor/ArmorHazmat.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import org.lwjgl.opengl.GL11; diff --git a/com/hbm/items/gear/ArmorModel.java b/com/hbm/items/armor/ArmorModel.java similarity index 97% rename from com/hbm/items/gear/ArmorModel.java rename to com/hbm/items/armor/ArmorModel.java index 005548d16..0bb12ec3e 100644 --- a/com/hbm/items/gear/ArmorModel.java +++ b/com/hbm/items/armor/ArmorModel.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import java.util.List; diff --git a/com/hbm/items/gear/ArmorSchrabidium.java b/com/hbm/items/armor/ArmorSchrabidium.java similarity index 95% rename from com/hbm/items/gear/ArmorSchrabidium.java rename to com/hbm/items/armor/ArmorSchrabidium.java index 4fc618676..370a6dc1e 100644 --- a/com/hbm/items/gear/ArmorSchrabidium.java +++ b/com/hbm/items/armor/ArmorSchrabidium.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; diff --git a/com/hbm/items/gear/ArmorT45.java b/com/hbm/items/armor/ArmorT45.java similarity index 92% rename from com/hbm/items/gear/ArmorT45.java rename to com/hbm/items/armor/ArmorT45.java index 0d9ef924d..f5ecd2730 100644 --- a/com/hbm/items/gear/ArmorT45.java +++ b/com/hbm/items/armor/ArmorT45.java @@ -1,11 +1,11 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import java.util.List; import com.google.common.collect.Multimap; +import com.hbm.handler.ArmorUtil; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; -import com.hbm.lib.Library; +import com.hbm.items.machine.ItemBattery; import com.hbm.render.model.ModelT45Boots; import com.hbm.render.model.ModelT45Chest; import com.hbm.render.model.ModelT45Helmet; @@ -113,7 +113,7 @@ public class ArmorT45 extends ItemArmor implements ISpecialArmor { 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, + if (player instanceof EntityPlayer && ArmorUtil.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 @@ -184,13 +184,13 @@ public class ArmorT45 extends ItemArmor implements ISpecialArmor { } } - if (armor.stackTagCompound.getInteger("charge") > 0 && Library.checkArmor(player, ModItems.t45_helmet, + if (armor.stackTagCompound.getInteger("charge") > 0 && ArmorUtil.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, + if (ArmorUtil.checkArmor(player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots) && !world.isRemote) { if (player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() == ModItems.t45_plate diff --git a/com/hbm/items/gear/ArmorTest.java b/com/hbm/items/armor/ArmorTest.java similarity index 94% rename from com/hbm/items/gear/ArmorTest.java rename to com/hbm/items/armor/ArmorTest.java index 0a236df19..6b5697c6f 100644 --- a/com/hbm/items/gear/ArmorTest.java +++ b/com/hbm/items/armor/ArmorTest.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; diff --git a/com/hbm/items/gear/JetpackBooster.java b/com/hbm/items/armor/JetpackBooster.java similarity index 99% rename from com/hbm/items/gear/JetpackBooster.java rename to com/hbm/items/armor/JetpackBooster.java index 31fd32323..da9fbdb4d 100644 --- a/com/hbm/items/gear/JetpackBooster.java +++ b/com/hbm/items/armor/JetpackBooster.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import java.util.List; diff --git a/com/hbm/items/gear/JetpackBreak.java b/com/hbm/items/armor/JetpackBreak.java similarity index 98% rename from com/hbm/items/gear/JetpackBreak.java rename to com/hbm/items/armor/JetpackBreak.java index e2fb4afb6..de968bf1d 100644 --- a/com/hbm/items/gear/JetpackBreak.java +++ b/com/hbm/items/armor/JetpackBreak.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import java.util.List; diff --git a/com/hbm/items/gear/JetpackRegular.java b/com/hbm/items/armor/JetpackRegular.java similarity index 98% rename from com/hbm/items/gear/JetpackRegular.java rename to com/hbm/items/armor/JetpackRegular.java index 6025b062a..75a0e3807 100644 --- a/com/hbm/items/gear/JetpackRegular.java +++ b/com/hbm/items/armor/JetpackRegular.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import java.util.List; diff --git a/com/hbm/items/gear/JetpackVectorized.java b/com/hbm/items/armor/JetpackVectorized.java similarity index 98% rename from com/hbm/items/gear/JetpackVectorized.java rename to com/hbm/items/armor/JetpackVectorized.java index 9ebca4f25..73c26e4f0 100644 --- a/com/hbm/items/gear/JetpackVectorized.java +++ b/com/hbm/items/armor/JetpackVectorized.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import java.util.List; diff --git a/com/hbm/items/gear/MaskOfInfamy.java b/com/hbm/items/armor/MaskOfInfamy.java similarity index 90% rename from com/hbm/items/gear/MaskOfInfamy.java rename to com/hbm/items/armor/MaskOfInfamy.java index 2359fcb00..a08884f3c 100644 --- a/com/hbm/items/gear/MaskOfInfamy.java +++ b/com/hbm/items/armor/MaskOfInfamy.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import com.hbm.lib.RefStrings; diff --git a/com/hbm/items/gear/ModArmor.java b/com/hbm/items/armor/ModArmor.java similarity index 96% rename from com/hbm/items/gear/ModArmor.java rename to com/hbm/items/armor/ModArmor.java index de761997c..d62eac910 100644 --- a/com/hbm/items/gear/ModArmor.java +++ b/com/hbm/items/armor/ModArmor.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.armor; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; diff --git a/com/hbm/items/tool/ItemAssemblyTemplate.java b/com/hbm/items/machine/ItemAssemblyTemplate.java similarity index 99% rename from com/hbm/items/tool/ItemAssemblyTemplate.java rename to com/hbm/items/machine/ItemAssemblyTemplate.java index 9a7830801..bdacd6728 100644 --- a/com/hbm/items/tool/ItemAssemblyTemplate.java +++ b/com/hbm/items/machine/ItemAssemblyTemplate.java @@ -1,4 +1,4 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.Arrays; import java.util.List; diff --git a/com/hbm/items/special/ItemBattery.java b/com/hbm/items/machine/ItemBattery.java similarity index 96% rename from com/hbm/items/special/ItemBattery.java rename to com/hbm/items/machine/ItemBattery.java index 4d2f97cfd..91528937f 100644 --- a/com/hbm/items/special/ItemBattery.java +++ b/com/hbm/items/machine/ItemBattery.java @@ -1,4 +1,4 @@ -package com.hbm.items.special; +package com.hbm.items.machine; import java.util.List; diff --git a/com/hbm/items/special/ItemBlades.java b/com/hbm/items/machine/ItemBlades.java similarity index 94% rename from com/hbm/items/special/ItemBlades.java rename to com/hbm/items/machine/ItemBlades.java index 54af61630..ff02ac7df 100644 --- a/com/hbm/items/special/ItemBlades.java +++ b/com/hbm/items/machine/ItemBlades.java @@ -1,4 +1,4 @@ -package com.hbm.items.special; +package com.hbm.items.machine; import java.util.List; diff --git a/com/hbm/items/special/ItemCapacitor.java b/com/hbm/items/machine/ItemCapacitor.java similarity index 94% rename from com/hbm/items/special/ItemCapacitor.java rename to com/hbm/items/machine/ItemCapacitor.java index 649a843f9..ac3de768e 100644 --- a/com/hbm/items/special/ItemCapacitor.java +++ b/com/hbm/items/machine/ItemCapacitor.java @@ -1,4 +1,4 @@ -package com.hbm.items.special; +package com.hbm.items.machine; import java.util.List; diff --git a/com/hbm/items/tool/ItemCassette.java b/com/hbm/items/machine/ItemCassette.java similarity index 99% rename from com/hbm/items/tool/ItemCassette.java rename to com/hbm/items/machine/ItemCassette.java index 48a47f902..1d129685e 100644 --- a/com/hbm/items/tool/ItemCassette.java +++ b/com/hbm/items/machine/ItemCassette.java @@ -1,4 +1,4 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.List; diff --git a/com/hbm/items/special/ItemCatalyst.java b/com/hbm/items/machine/ItemCatalyst.java similarity index 98% rename from com/hbm/items/special/ItemCatalyst.java rename to com/hbm/items/machine/ItemCatalyst.java index a0dbfe25a..99ffe4a11 100644 --- a/com/hbm/items/special/ItemCatalyst.java +++ b/com/hbm/items/machine/ItemCatalyst.java @@ -1,4 +1,4 @@ -package com.hbm.items.special; +package com.hbm.items.machine; import java.util.List; diff --git a/com/hbm/items/tool/ItemChemistryIcon.java b/com/hbm/items/machine/ItemChemistryIcon.java similarity index 94% rename from com/hbm/items/tool/ItemChemistryIcon.java rename to com/hbm/items/machine/ItemChemistryIcon.java index 83e6d7639..0499585bb 100644 --- a/com/hbm/items/tool/ItemChemistryIcon.java +++ b/com/hbm/items/machine/ItemChemistryIcon.java @@ -1,9 +1,10 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.List; import com.hbm.items.ModItems; -import com.hbm.items.tool.ItemChemistryTemplate.EnumChemistryTemplate; +import com.hbm.items.machine.ItemChemistryTemplate.EnumChemistryTemplate; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; diff --git a/com/hbm/items/tool/ItemChemistryTemplate.java b/com/hbm/items/machine/ItemChemistryTemplate.java similarity index 98% rename from com/hbm/items/tool/ItemChemistryTemplate.java rename to com/hbm/items/machine/ItemChemistryTemplate.java index 9b7acdf17..a4e0b3e99 100644 --- a/com/hbm/items/tool/ItemChemistryTemplate.java +++ b/com/hbm/items/machine/ItemChemistryTemplate.java @@ -1,4 +1,4 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.List; @@ -81,7 +81,8 @@ public class ItemChemistryTemplate extends Item { CONCRETE, SOLID_FUEL, ELECTROLYSIS, - XENON; + XENON, + SATURN; public static EnumChemistryTemplate getEnum(int i) { if(i < EnumChemistryTemplate.values().length) @@ -249,6 +250,8 @@ public class ItemChemistryTemplate extends Item { return 400; case XENON: return 600; + case SATURN: + return 600; default: return 100; } diff --git a/com/hbm/items/tool/ItemFluidDuct.java b/com/hbm/items/machine/ItemFluidDuct.java similarity index 99% rename from com/hbm/items/tool/ItemFluidDuct.java rename to com/hbm/items/machine/ItemFluidDuct.java index 28c4eba08..feda809e5 100644 --- a/com/hbm/items/tool/ItemFluidDuct.java +++ b/com/hbm/items/machine/ItemFluidDuct.java @@ -1,4 +1,4 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.List; diff --git a/com/hbm/items/tool/ItemFluidIcon.java b/com/hbm/items/machine/ItemFluidIcon.java similarity index 98% rename from com/hbm/items/tool/ItemFluidIcon.java rename to com/hbm/items/machine/ItemFluidIcon.java index b7197af2d..1f8ba1719 100644 --- a/com/hbm/items/tool/ItemFluidIcon.java +++ b/com/hbm/items/machine/ItemFluidIcon.java @@ -1,4 +1,4 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.List; import com.hbm.handler.FluidTypeHandler.FluidType; diff --git a/com/hbm/items/tool/ItemFluidIdentifier.java b/com/hbm/items/machine/ItemFluidIdentifier.java similarity index 99% rename from com/hbm/items/tool/ItemFluidIdentifier.java rename to com/hbm/items/machine/ItemFluidIdentifier.java index 9d6be9f18..7671c0aaa 100644 --- a/com/hbm/items/tool/ItemFluidIdentifier.java +++ b/com/hbm/items/machine/ItemFluidIdentifier.java @@ -1,4 +1,4 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.List; import com.hbm.handler.FluidTypeHandler.FluidType; diff --git a/com/hbm/items/tool/ItemFluidTank.java b/com/hbm/items/machine/ItemFluidTank.java similarity index 98% rename from com/hbm/items/tool/ItemFluidTank.java rename to com/hbm/items/machine/ItemFluidTank.java index 740d25ae6..1c953b651 100644 --- a/com/hbm/items/tool/ItemFluidTank.java +++ b/com/hbm/items/machine/ItemFluidTank.java @@ -1,4 +1,4 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.List; import com.hbm.handler.FluidTypeHandler.FluidType; diff --git a/com/hbm/items/special/ItemFuelRod.java b/com/hbm/items/machine/ItemFuelRod.java similarity index 91% rename from com/hbm/items/special/ItemFuelRod.java rename to com/hbm/items/machine/ItemFuelRod.java index da11b8a6d..d19b452e8 100644 --- a/com/hbm/items/special/ItemFuelRod.java +++ b/com/hbm/items/machine/ItemFuelRod.java @@ -1,7 +1,9 @@ -package com.hbm.items.special; +package com.hbm.items.machine; import java.util.List; +import com.hbm.items.special.ItemRadioactive; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; diff --git a/com/hbm/items/special/ItemLens.java b/com/hbm/items/machine/ItemLens.java similarity index 97% rename from com/hbm/items/special/ItemLens.java rename to com/hbm/items/machine/ItemLens.java index d2c668f90..4e8a3d983 100644 --- a/com/hbm/items/special/ItemLens.java +++ b/com/hbm/items/machine/ItemLens.java @@ -1,4 +1,4 @@ -package com.hbm.items.special; +package com.hbm.items.machine; import java.util.List; diff --git a/com/hbm/items/tool/ItemReactorSensor.java b/com/hbm/items/machine/ItemReactorSensor.java similarity index 98% rename from com/hbm/items/tool/ItemReactorSensor.java rename to com/hbm/items/machine/ItemReactorSensor.java index c593fec8a..ebc05a372 100644 --- a/com/hbm/items/tool/ItemReactorSensor.java +++ b/com/hbm/items/machine/ItemReactorSensor.java @@ -1,4 +1,4 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.List; diff --git a/com/hbm/items/tool/ItemSatChip.java b/com/hbm/items/machine/ItemSatChip.java similarity index 98% rename from com/hbm/items/tool/ItemSatChip.java rename to com/hbm/items/machine/ItemSatChip.java index 0369077d1..8b9524219 100644 --- a/com/hbm/items/tool/ItemSatChip.java +++ b/com/hbm/items/machine/ItemSatChip.java @@ -1,4 +1,4 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.List; diff --git a/com/hbm/items/tool/ItemTemplateFolder.java b/com/hbm/items/machine/ItemTemplateFolder.java similarity index 96% rename from com/hbm/items/tool/ItemTemplateFolder.java rename to com/hbm/items/machine/ItemTemplateFolder.java index bcd4a8c94..4cf7dab59 100644 --- a/com/hbm/items/tool/ItemTemplateFolder.java +++ b/com/hbm/items/machine/ItemTemplateFolder.java @@ -1,4 +1,4 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.List; diff --git a/com/hbm/items/tool/ItemTurretBiometry.java b/com/hbm/items/machine/ItemTurretBiometry.java similarity index 98% rename from com/hbm/items/tool/ItemTurretBiometry.java rename to com/hbm/items/machine/ItemTurretBiometry.java index 867474d22..eb3f91dd0 100644 --- a/com/hbm/items/tool/ItemTurretBiometry.java +++ b/com/hbm/items/machine/ItemTurretBiometry.java @@ -1,4 +1,4 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.Arrays; import java.util.List; diff --git a/com/hbm/items/tool/ItemTurretChip.java b/com/hbm/items/machine/ItemTurretChip.java similarity index 97% rename from com/hbm/items/tool/ItemTurretChip.java rename to com/hbm/items/machine/ItemTurretChip.java index 24491255f..9fec4ad8d 100644 --- a/com/hbm/items/tool/ItemTurretChip.java +++ b/com/hbm/items/machine/ItemTurretChip.java @@ -1,4 +1,4 @@ -package com.hbm.items.tool; +package com.hbm.items.machine; import java.util.Arrays; import com.hbm.blocks.bomb.TurretBase; diff --git a/com/hbm/items/special/ItemCustomLore.java b/com/hbm/items/special/ItemCustomLore.java index 789dc99ae..ad5fd286a 100644 --- a/com/hbm/items/special/ItemCustomLore.java +++ b/com/hbm/items/special/ItemCustomLore.java @@ -2,8 +2,8 @@ package com.hbm.items.special; import java.util.List; +import com.hbm.handler.ArmorUtil; import com.hbm.items.ModItems; -import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import cpw.mods.fml.relauncher.Side; @@ -666,7 +666,7 @@ public class ItemCustomLore extends Item { { list.add("Can be used with a screwdriver to pick locks."); - if(Library.checkArmorPiece(player, ModItems.jackt, 2) || Library.checkArmorPiece(player, ModItems.jackt2, 2)) + if(ArmorUtil.checkArmorPiece(player, ModItems.jackt, 2) || ArmorUtil.checkArmorPiece(player, ModItems.jackt2, 2)) list.add("Success rate of picking standard lock is 100%!"); else list.add("Success rate of picking standard lock is ~10%"); diff --git a/com/hbm/items/special/ItemPotatos.java b/com/hbm/items/special/ItemPotatos.java index 41b426246..69aefa465 100644 --- a/com/hbm/items/special/ItemPotatos.java +++ b/com/hbm/items/special/ItemPotatos.java @@ -1,5 +1,7 @@ package com.hbm.items.special; +import com.hbm.items.machine.ItemBattery; + import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; diff --git a/com/hbm/items/special/ItemRadioactive.java b/com/hbm/items/special/ItemRadioactive.java index 3e98ca044..064ae226d 100644 --- a/com/hbm/items/special/ItemRadioactive.java +++ b/com/hbm/items/special/ItemRadioactive.java @@ -2,6 +2,7 @@ package com.hbm.items.special; import java.util.List; +import com.hbm.handler.ArmorUtil; import com.hbm.lib.Library; import net.minecraft.entity.Entity; @@ -50,6 +51,7 @@ public class ItemRadioactive extends ItemCustomLore { if(this.fire) entity.setFire(5); + if(!(entity instanceof EntityPlayer && ArmorUtil.checkForGoggles((EntityPlayer)entity))) if(this.blinding) ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.blindness.id, 100, 0)); } diff --git a/com/hbm/items/special/ItemStarterKit.java b/com/hbm/items/special/ItemStarterKit.java index e157db185..f938f762e 100644 --- a/com/hbm/items/special/ItemStarterKit.java +++ b/com/hbm/items/special/ItemStarterKit.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import cpw.mods.fml.relauncher.Side; diff --git a/com/hbm/items/special/ItemSyringe.java b/com/hbm/items/special/ItemSyringe.java index 3c32b36ed..31c242fee 100644 --- a/com/hbm/items/special/ItemSyringe.java +++ b/com/hbm/items/special/ItemSyringe.java @@ -4,10 +4,10 @@ import java.util.List; import java.util.Random; import com.hbm.items.ModItems; -import com.hbm.items.gear.JetpackBooster; -import com.hbm.items.gear.JetpackBreak; -import com.hbm.items.gear.JetpackRegular; -import com.hbm.items.gear.JetpackVectorized; +import com.hbm.items.armor.JetpackBooster; +import com.hbm.items.armor.JetpackBreak; +import com.hbm.items.armor.JetpackRegular; +import com.hbm.items.armor.JetpackVectorized; import com.hbm.items.weapon.ItemGunBase; import com.hbm.lib.ModDamageSource; import com.hbm.potion.HbmPotion; diff --git a/com/hbm/items/gear/AxeSchrabidium.java b/com/hbm/items/tool/AxeSchrabidium.java similarity index 87% rename from com/hbm/items/gear/AxeSchrabidium.java rename to com/hbm/items/tool/AxeSchrabidium.java index ebb07a2b9..b8b283ac3 100644 --- a/com/hbm/items/gear/AxeSchrabidium.java +++ b/com/hbm/items/tool/AxeSchrabidium.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemAxe; diff --git a/com/hbm/items/gear/BigSword.java b/com/hbm/items/tool/BigSword.java similarity index 95% rename from com/hbm/items/gear/BigSword.java rename to com/hbm/items/tool/BigSword.java index 91ab922d4..d619ca02c 100644 --- a/com/hbm/items/gear/BigSword.java +++ b/com/hbm/items/tool/BigSword.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/com/hbm/items/gear/HoeSchrabidium.java b/com/hbm/items/tool/HoeSchrabidium.java similarity index 87% rename from com/hbm/items/gear/HoeSchrabidium.java rename to com/hbm/items/tool/HoeSchrabidium.java index 75244a89a..8a82753da 100644 --- a/com/hbm/items/gear/HoeSchrabidium.java +++ b/com/hbm/items/tool/HoeSchrabidium.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemHoe; diff --git a/com/hbm/items/tool/ItemRamManipulator.java b/com/hbm/items/tool/ItemRamManipulator.java deleted file mode 100644 index 5abdf13a1..000000000 --- a/com/hbm/items/tool/ItemRamManipulator.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.hbm.items.tool; - -import java.util.List; - -import com.hbm.lib.Library; -import com.hbm.main.MainRegistry; - -import net.minecraft.block.Block; -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.world.World; - -public class ItemRamManipulator extends Item { - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - if(MainRegistry.polaroidID == 11) - list.add("A cheating device."); - else - list.add("A broken remote."); - if (itemstack.getTagCompound() == null) { - } else { - list.add(""); - list.add(String.valueOf(itemstack.stackTagCompound.getInteger("code"))); - } - } - - @Override - public boolean onItemUse(ItemStack stack, 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 (stack.stackTagCompound == null) { - stack.stackTagCompound = new NBTTagCompound(); - } - - if (!player.isSneaking()) { - - Block block = world.getBlock(x, y, z); - - if(block == Blocks.dirt) - stack.stackTagCompound.setInteger("code", stack.stackTagCompound.getInteger("code") * 10 + 0); - if(block == Blocks.cobblestone) - stack.stackTagCompound.setInteger("code", stack.stackTagCompound.getInteger("code") * 10 + 1); - if(block == Blocks.stone) - stack.stackTagCompound.setInteger("code", stack.stackTagCompound.getInteger("code") * 10 + 2); - if(block == Blocks.log) - stack.stackTagCompound.setInteger("code", stack.stackTagCompound.getInteger("code") * 10 + 3); - if(block == Blocks.planks) - stack.stackTagCompound.setInteger("code", stack.stackTagCompound.getInteger("code") * 10 + 4); - if(block == Blocks.gravel) - stack.stackTagCompound.setInteger("code", stack.stackTagCompound.getInteger("code") * 10 + 5); - if(block == Blocks.sand) - stack.stackTagCompound.setInteger("code", stack.stackTagCompound.getInteger("code") * 10 + 6); - if(block == Blocks.sandstone) - stack.stackTagCompound.setInteger("code", stack.stackTagCompound.getInteger("code") * 10 + 7); - if(block == Blocks.tallgrass) - stack.stackTagCompound.setInteger("code", stack.stackTagCompound.getInteger("code") * 10 + 8); - if(block == Blocks.double_plant) - stack.stackTagCompound.setInteger("code", stack.stackTagCompound.getInteger("code") * 10 + 9); - - return true; - } - - return false; - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - - if (stack.stackTagCompound == null) { - } else { - if(!player.isSneaking()) - { - if(Library.getItemByCode(stack.stackTagCompound.getInteger("code")) != null) - player.inventory.addItemStackToInventory(new ItemStack((Library.getItemByCode(stack.stackTagCompound.getInteger("code"))))); - } else { - stack.stackTagCompound.setInteger("code", 0); - } - } - - return stack; - - } -} diff --git a/com/hbm/items/tool/ItemSatInterface.java b/com/hbm/items/tool/ItemSatInterface.java index 77a3f1273..29c79b003 100644 --- a/com/hbm/items/tool/ItemSatInterface.java +++ b/com/hbm/items/tool/ItemSatInterface.java @@ -1,6 +1,7 @@ package com.hbm.items.tool; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemSatChip; import com.hbm.main.MainRegistry; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.SatPanelPacket; diff --git a/com/hbm/items/tool/ItemToolAbility.java b/com/hbm/items/tool/ItemToolAbility.java new file mode 100644 index 000000000..aeae1625c --- /dev/null +++ b/com/hbm/items/tool/ItemToolAbility.java @@ -0,0 +1,283 @@ +package com.hbm.items.tool; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import com.google.common.collect.HashMultimap; +import com.google.common.collect.Multimap; +import com.google.common.collect.Sets; +import com.hbm.handler.ToolAbility; + +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.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.attributes.AttributeModifier; +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.item.ItemTool; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.play.client.C07PacketPlayerDigging; +import net.minecraft.network.play.server.S23PacketBlockChange; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeHooks; +import net.minecraftforge.event.world.BlockEvent; + +public class ItemToolAbility extends ItemTool { + + private EnumToolType toolType; + //was there a reason for this to be private? + protected float damage; + protected double movement; + private List breakAbility = new ArrayList() {{ add(null); }}; + + public static enum EnumToolType { + + SWORD( + Sets.newHashSet(new Material[] { Material.plants, Material.vine, Material.coral, Material.leaves, Material.gourd }), + Sets.newHashSet(new Block[] { Blocks.web }) + ), + PICKAXE( + Sets.newHashSet(new Material[] { Material.iron, Material.anvil, Material.rock }), + Sets.newHashSet(new Block[] { Blocks.cobblestone, Blocks.double_stone_slab, Blocks.stone_slab, Blocks.stone, Blocks.sandstone, Blocks.mossy_cobblestone, Blocks.iron_ore, Blocks.iron_block, Blocks.coal_ore, Blocks.gold_block, Blocks.gold_ore, Blocks.diamond_ore, Blocks.diamond_block, Blocks.ice, Blocks.netherrack, Blocks.lapis_ore, Blocks.lapis_block, Blocks.redstone_ore, Blocks.lit_redstone_ore, Blocks.rail, Blocks.detector_rail, Blocks.golden_rail, Blocks.activator_rail }) + ), + AXE( + Sets.newHashSet(new Material[] { Material.wood, Material.plants, Material.vine }), + Sets.newHashSet(new Block[] { Blocks.planks, Blocks.bookshelf, Blocks.log, Blocks.log2, Blocks.chest, Blocks.pumpkin, Blocks.lit_pumpkin }) + ), + SHOVEL( + Sets.newHashSet(new Material[] { Material.clay, Material.sand, Material.ground, Material.snow, Material.craftedSnow }), + Sets.newHashSet(new Block[] { Blocks.grass, Blocks.dirt, Blocks.sand, Blocks.gravel, Blocks.snow_layer, Blocks.snow, Blocks.clay, Blocks.farmland, Blocks.soul_sand, Blocks.mycelium }) + ); + + private EnumToolType(Set materials, Set blocks) { + this.materials = materials; + this.blocks = blocks; + } + + public Set materials = new HashSet(); + public Set blocks = new HashSet(); + } + + public ItemToolAbility(float damage, double movement, ToolMaterial material, EnumToolType type) { + super(0, material, type.blocks); + this.damage = damage; + this.movement = movement; + this.toolType = type; + this.setHarvestLevel(type.toString().toLowerCase(), material.getHarvestLevel()); + } + + public ItemToolAbility addBreakAbility(ToolAbility breakAbility) { + this.breakAbility.add(breakAbility); + return this; + } + + @Override + public boolean onBlockStartBreak(ItemStack stack, int x, int y, int z, EntityPlayer player) { + + World world = player.worldObj; + Block block = world.getBlock(x, y, z); + int meta = world.getBlockMetadata(x, y, z); + + if(!world.isRemote && canHarvestBlock(block, stack) && this.getCurrentAbility(stack) != null && canOperate(stack)) + this.getCurrentAbility(stack).onDig(world, x, y, z, player, block, meta, this); + + return false; + } + + @Override + public float getDigSpeed(ItemStack stack, Block block, int meta) { + + if(!canOperate(stack)) + return 1; + + if(toolType == null) + return super.getDigSpeed(stack, block, meta); + + if(toolType.blocks.contains(block) || toolType.materials.contains(block.getMaterial())) + return this.efficiencyOnProperMaterial; + + return super.getDigSpeed(stack, block, meta); + } + + @Override + public boolean canHarvestBlock(Block block, ItemStack stack) { + + if(!canOperate(stack)) return false; + + return getDigSpeed(stack, block, 0) > 1; + } + + @Override + public Multimap getItemAttributeModifiers() { + + Multimap multimap = HashMultimap.create(); + multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Tool modifier", (double)this.damage, 0)); + multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Tool modifier", movement, 1)); + return multimap; + } + + //that's slimelad's code + //creative commons 3 and all that jazz + public void breakExtraBlock(World world, int x, int y, int z, EntityPlayer playerEntity, int refX, int refY, int refZ) { + + if (world.isAirBlock(x, y, z)) + return; + + if(!(playerEntity instanceof EntityPlayerMP)) + return; + + EntityPlayerMP player = (EntityPlayerMP) playerEntity; + ItemStack stack = player.getHeldItem(); + + Block block = world.getBlock(x, y, z); + int meta = world.getBlockMetadata(x, y, z); + + if(!canHarvestBlock(block, stack)) + return; + + Block refBlock = world.getBlock(refX, refY, refZ); + float refStrength = ForgeHooks.blockStrength(refBlock, player, world, refX, refY, refZ); + float strength = ForgeHooks.blockStrength(block, player, world, x,y,z); + + if (!ForgeHooks.canHarvestBlock(block, player, meta) || refStrength/strength > 10f) + return; + + BlockEvent.BreakEvent event = ForgeHooks.onBlockBreakEvent(world, player.theItemInWorldManager.getGameType(), player, x,y,z); + if(event.isCanceled()) + return; + + if (player.capabilities.isCreativeMode) { + block.onBlockHarvested(world, x, y, z, meta, player); + if (block.removedByPlayer(world, player, x, y, z, false)) + block.onBlockDestroyedByPlayer(world, x, y, z, meta); + + if (!world.isRemote) { + player.playerNetServerHandler.sendPacket(new S23PacketBlockChange(x, y, z, world)); + } + return; + } + + player.getCurrentEquippedItem().func_150999_a(world, block, x, y, z, player); + + if (!world.isRemote) { + + block.onBlockHarvested(world, x,y,z, meta, player); + + if(block.removedByPlayer(world, player, x,y,z, true)) + { + block.onBlockDestroyedByPlayer( world, x,y,z, meta); + block.harvestBlock(world, player, x,y,z, meta); + block.dropXpOnBlockBreak(world, x,y,z, event.getExpToDrop()); + } + + player.playerNetServerHandler.sendPacket(new S23PacketBlockChange(x, y, z, world)); + + } else { + world.playAuxSFX(2001, x, y, z, Block.getIdFromBlock(block) + (meta << 12)); + if(block.removedByPlayer(world, player, x,y,z, true)) + { + block.onBlockDestroyedByPlayer(world, x,y,z, meta); + } + ItemStack itemstack = player.getCurrentEquippedItem(); + if (itemstack != null) + { + itemstack.func_150999_a(world, block, x, y, z, player); + + if (itemstack.stackSize == 0) + { + player.destroyCurrentEquippedItem(); + } + } + + Minecraft.getMinecraft().getNetHandler().addToSendQueue(new C07PacketPlayerDigging(2, x, y, z, Minecraft.getMinecraft().objectMouseOver.sideHit)); + } + } + + @SideOnly(Side.CLIENT) + public boolean hasEffect(ItemStack stack) { + + return getCurrentAbility(stack) != null ? true : super.hasEffect(stack); + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + + if(this.breakAbility.size() > 1) { + list.add("Abilities: "); + + for(ToolAbility ability : this.breakAbility) { + + if(ability != null) { + + if(getCurrentAbility(stack) == ability) + list.add(" >" + EnumChatFormatting.GOLD + ability.getFullName()); + else + list.add(" " + EnumChatFormatting.GOLD + ability.getFullName()); + } + } + + list.add("Right click to cycle through abilities!"); + list.add("Sneak-click to turn abilitty off!"); + } + } + + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(world.isRemote || this.breakAbility.isEmpty() || !canOperate(stack)) + return stack; + + int i = getAbility(stack); + i++; + + if(player.isSneaking()) + i = 0; + + setAbility(stack, i % this.breakAbility.size()); + + if(getCurrentAbility(stack) != null) { + player.addChatComponentMessage(new ChatComponentText("[Enabled " + getCurrentAbility(stack).getFullName() + "]")); + } else { + player.addChatComponentMessage(new ChatComponentText("[Tool ability deactivated]")); + } + + world.playSoundAtEntity(player, "random.orb", 0.25F, getCurrentAbility(stack) == null ? 0.75F : 1.25F); + + return stack; + } + + private ToolAbility getCurrentAbility(ItemStack stack) { + + int ability = getAbility(stack) % this.breakAbility.size(); + + return this.breakAbility.get(ability); + } + + private int getAbility(ItemStack stack) { + + if(stack.hasTagCompound()) + return stack.stackTagCompound.getInteger("ability"); + + return 0; + } + + private void setAbility(ItemStack stack, int ability) { + + if(!stack.hasTagCompound()) + stack.stackTagCompound = new NBTTagCompound(); + + stack.stackTagCompound.setInteger("ability", ability); + } + + protected boolean canOperate(ItemStack stack) { + return true; + } +} diff --git a/com/hbm/items/tool/ItemToolAbilityPower.java b/com/hbm/items/tool/ItemToolAbilityPower.java new file mode 100644 index 000000000..e952a7a13 --- /dev/null +++ b/com/hbm/items/tool/ItemToolAbilityPower.java @@ -0,0 +1,120 @@ +package com.hbm.items.tool; + +import java.util.List; + +import com.hbm.lib.Library; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public class ItemToolAbilityPower extends ItemToolAbility { + + public long maxPower = 1; + public long chargeRate; + public long consumption; + + public ItemToolAbilityPower(float damage, double movement, ToolMaterial material, EnumToolType type, long maxPower, long chargeRate, long consumption) { + super(damage, movement, material, type); + this.maxPower = maxPower; + this.chargeRate = chargeRate; + this.consumption = consumption; + this.setMaxDamage(1); + } + + public void chargeBattery(ItemStack stack, long i) { + if(stack.getItem() instanceof ItemToolAbilityPower) { + if(stack.hasTagCompound()) { + stack.stackTagCompound.setLong("charge", stack.stackTagCompound.getLong("charge") + i); + } else { + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setLong("charge", i); + } + } + } + + public void setCharge(ItemStack stack, long i) { + if(stack.getItem() instanceof ItemToolAbilityPower) { + if(stack.hasTagCompound()) { + stack.stackTagCompound.setLong("charge", i); + } else { + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setLong("charge", i); + } + } + } + + public void dischargeBattery(ItemStack stack, long i) { + if(stack.getItem() instanceof ItemToolAbilityPower) { + if(stack.hasTagCompound()) { + stack.stackTagCompound.setLong("charge", stack.stackTagCompound.getLong("charge") - i); + } else { + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setLong("charge", this.maxPower - i); + } + + if(stack.stackTagCompound.getLong("charge") < 0) + stack.stackTagCompound.setLong("charge", 0); + } + } + + public static long getCharge(ItemStack stack) { + if(stack.getItem() instanceof ItemToolAbilityPower) { + if(stack.hasTagCompound()) { + return stack.stackTagCompound.getLong("charge"); + } else { + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setLong("charge", ((ItemToolAbilityPower)stack.getItem()).maxPower); + return stack.stackTagCompound.getLong("charge"); + } + } + + return 0; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + + list.add("Charge: " + Library.getShortNumber(getCharge(stack)) + " / " + Library.getShortNumber(maxPower)); + + super.addInformation(stack, player, list, ext); + } + + public boolean showDurabilityBar(ItemStack stack) { + + return getCharge(stack) < maxPower; + } + + public double getDurabilityForDisplay(ItemStack stack) { + + return 1 - (double)getCharge(stack) / (double)maxPower; + } + + protected boolean canOperate(ItemStack stack) { + + return getCharge(stack) >= this.consumption; + } + + public long getMaxCharge() { + return maxPower; + } + + public long getChargeRate() { + return chargeRate; + } + + public static long getMaxChargeStatic(ItemStack stack) { + return ((ItemToolAbilityPower)stack.getItem()).maxPower; + } + + public void setDamage(ItemStack stack, int damage) + { + this.dischargeBattery(stack, damage * consumption); + } + + public boolean isDamageable() { + return true; + } +} diff --git a/com/hbm/items/gear/ModAxe.java b/com/hbm/items/tool/ModAxe.java similarity index 79% rename from com/hbm/items/gear/ModAxe.java rename to com/hbm/items/tool/ModAxe.java index 941496630..931b85a0b 100644 --- a/com/hbm/items/gear/ModAxe.java +++ b/com/hbm/items/tool/ModAxe.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import net.minecraft.item.ItemAxe; diff --git a/com/hbm/items/gear/ModHoe.java b/com/hbm/items/tool/ModHoe.java similarity index 79% rename from com/hbm/items/gear/ModHoe.java rename to com/hbm/items/tool/ModHoe.java index 994c50fb2..048428e13 100644 --- a/com/hbm/items/gear/ModHoe.java +++ b/com/hbm/items/tool/ModHoe.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import net.minecraft.item.ItemHoe; diff --git a/com/hbm/items/gear/ModPickaxe.java b/com/hbm/items/tool/ModPickaxe.java similarity index 80% rename from com/hbm/items/gear/ModPickaxe.java rename to com/hbm/items/tool/ModPickaxe.java index 3567a2932..9255aff50 100644 --- a/com/hbm/items/gear/ModPickaxe.java +++ b/com/hbm/items/tool/ModPickaxe.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import net.minecraft.item.ItemPickaxe; diff --git a/com/hbm/items/gear/ModSpade.java b/com/hbm/items/tool/ModSpade.java similarity index 79% rename from com/hbm/items/gear/ModSpade.java rename to com/hbm/items/tool/ModSpade.java index 17649e799..5815e77e1 100644 --- a/com/hbm/items/gear/ModSpade.java +++ b/com/hbm/items/tool/ModSpade.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import net.minecraft.item.ItemSpade; diff --git a/com/hbm/items/gear/ModSword.java b/com/hbm/items/tool/ModSword.java similarity index 94% rename from com/hbm/items/gear/ModSword.java rename to com/hbm/items/tool/ModSword.java index 4f0ac0bcc..93f78eee0 100644 --- a/com/hbm/items/gear/ModSword.java +++ b/com/hbm/items/tool/ModSword.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import java.util.List; diff --git a/com/hbm/items/gear/PickaxeSchrabidium.java b/com/hbm/items/tool/PickaxeSchrabidium.java similarity index 88% rename from com/hbm/items/gear/PickaxeSchrabidium.java rename to com/hbm/items/tool/PickaxeSchrabidium.java index 1bb9b2271..cd0cf2434 100644 --- a/com/hbm/items/gear/PickaxeSchrabidium.java +++ b/com/hbm/items/tool/PickaxeSchrabidium.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemPickaxe; diff --git a/com/hbm/items/gear/RedstoneSword.java b/com/hbm/items/tool/RedstoneSword.java similarity index 93% rename from com/hbm/items/gear/RedstoneSword.java rename to com/hbm/items/tool/RedstoneSword.java index 9d0384def..152abb61d 100644 --- a/com/hbm/items/gear/RedstoneSword.java +++ b/com/hbm/items/tool/RedstoneSword.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/com/hbm/items/gear/SpadeSchrabidium.java b/com/hbm/items/tool/SpadeSchrabidium.java similarity index 88% rename from com/hbm/items/gear/SpadeSchrabidium.java rename to com/hbm/items/tool/SpadeSchrabidium.java index 718910ca1..f13f7b4fb 100644 --- a/com/hbm/items/gear/SpadeSchrabidium.java +++ b/com/hbm/items/tool/SpadeSchrabidium.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemSpade; diff --git a/com/hbm/items/gear/SwordSchrabidium.java b/com/hbm/items/tool/SwordSchrabidium.java similarity index 88% rename from com/hbm/items/gear/SwordSchrabidium.java rename to com/hbm/items/tool/SwordSchrabidium.java index e0dd6f42f..005b00c1c 100644 --- a/com/hbm/items/gear/SwordSchrabidium.java +++ b/com/hbm/items/tool/SwordSchrabidium.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; diff --git a/com/hbm/items/gear/WeaponSpecial.java b/com/hbm/items/tool/WeaponSpecial.java similarity index 94% rename from com/hbm/items/gear/WeaponSpecial.java rename to com/hbm/items/tool/WeaponSpecial.java index 7f81ee3f1..0519897d4 100644 --- a/com/hbm/items/gear/WeaponSpecial.java +++ b/com/hbm/items/tool/WeaponSpecial.java @@ -1,4 +1,4 @@ -package com.hbm.items.gear; +package com.hbm.items.tool; import java.util.List; import java.util.Random; @@ -7,8 +7,8 @@ import com.google.common.collect.Multimap; import com.hbm.entity.effect.EntityNukeCloudSmall; import com.hbm.entity.logic.EntityNukeExplosionMK4; import com.hbm.entity.projectile.EntityRubble; +import com.hbm.handler.ArmorUtil; import com.hbm.items.ModItems; -import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import net.minecraft.entity.Entity; @@ -221,9 +221,9 @@ public class WeaponSpecial extends ItemSword { public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean b) { if(entity instanceof EntityPlayer) { - if(Library.checkForFiend((EntityPlayer) entity)) { + if(ArmorUtil.checkForFiend((EntityPlayer) entity)) { ((EntityPlayer) entity).triggerAchievement(MainRegistry.achFiend); - } else if(Library.checkForFiend2((EntityPlayer) entity)) { + } else if(ArmorUtil.checkForFiend2((EntityPlayer) entity)) { ((EntityPlayer) entity).triggerAchievement(MainRegistry.achFiend2); } } diff --git a/com/hbm/items/weapon/ItemAmmo.java b/com/hbm/items/weapon/ItemAmmo.java index 60f706ceb..0a7fe695c 100644 --- a/com/hbm/items/weapon/ItemAmmo.java +++ b/com/hbm/items/weapon/ItemAmmo.java @@ -310,6 +310,28 @@ public class ItemAmmo extends Item { list.add(EnumChatFormatting.RED + "- Highly increased wear"); } + //FUEL + if(this == ModItems.ammo_fuel_napalm) { + list.add(EnumChatFormatting.BLUE + "+ Increased damage"); + list.add(EnumChatFormatting.BLUE + "+ Increased range"); + list.add(EnumChatFormatting.RED + "- Highly increased wear"); + } + if(this == ModItems.ammo_fuel_phosphorus) { + list.add(EnumChatFormatting.BLUE + "+ Phosphorus splash"); + list.add(EnumChatFormatting.BLUE + "+ Increased damage"); + list.add(EnumChatFormatting.BLUE + "+ Increased range"); + list.add(EnumChatFormatting.BLUE + "+ Increased accuracy"); + list.add(EnumChatFormatting.YELLOW + "* Technically a warcrime"); + list.add(EnumChatFormatting.RED + "- Single projectile"); + list.add(EnumChatFormatting.RED + "- Highly increased wear"); + } + if(this == ModItems.ammo_fuel_gas) { + list.add(EnumChatFormatting.BLUE + "+ No gravity"); + list.add(EnumChatFormatting.BLUE + "+ Poison splash"); + list.add(EnumChatFormatting.RED + "- No damage"); + list.add(EnumChatFormatting.RED + "- Not incendiary"); + } + //FOLLY if(this == ModItems.ammo_folly) { list.add(EnumChatFormatting.BLUE + "+ Focused starmetal reaction blast"); diff --git a/com/hbm/items/weapon/ItemGunBase.java b/com/hbm/items/weapon/ItemGunBase.java index 9f7465abd..8734fac34 100644 --- a/com/hbm/items/weapon/ItemGunBase.java +++ b/com/hbm/items/weapon/ItemGunBase.java @@ -248,7 +248,8 @@ public class ItemGunBase extends Item implements IHoldableWeapon { //if the mag has bullet in them -> load only the same type if(getMag(stack) > 0) { - Item ammo = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))).ammo; + BulletConfiguration bulletCfg = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))); + Item ammo = bulletCfg.ammo; //how many bullets to load int count = 1; @@ -267,7 +268,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon { if(player.inventory.hasItem(ammo)) { player.inventory.consumeInventoryItem(ammo); - setMag(stack, getMag(stack) + 1); + setMag(stack, Math.min(getMag(stack) + bulletCfg.ammoCount, mainConfig.ammoCap)); } else { setIsReloading(stack, false); world.playSoundAtEntity(player, mainConfig.reloadSound, 1.0F, 1.0F); @@ -287,7 +288,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon { //if the mag has no bullets in them -> load new type } else { - Item ammo = null; + BulletConfiguration bulletCfg = null; //determine new type for(Integer config : mainConfig.config) { @@ -295,14 +296,14 @@ public class ItemGunBase extends Item implements IHoldableWeapon { BulletConfiguration cfg = BulletConfigSyncingUtil.pullConfig(config); if(player.inventory.hasItem(cfg.ammo)) { - ammo = cfg.ammo; + bulletCfg = cfg; setMagType(stack, mainConfig.config.indexOf(config)); break; } } //load new type if bullets are present - if(ammo != null) { + if(bulletCfg != null) { int count = 1; @@ -315,9 +316,9 @@ public class ItemGunBase extends Item implements IHoldableWeapon { if(getMag(stack) < mainConfig.ammoCap) { - if(player.inventory.hasItem(ammo)) { - player.inventory.consumeInventoryItem(ammo); - setMag(stack, getMag(stack) + 1); + if(player.inventory.hasItem(bulletCfg.ammo)) { + player.inventory.consumeInventoryItem(bulletCfg.ammo); + setMag(stack, Math.min(getMag(stack) + bulletCfg.ammoCount, mainConfig.ammoCap)); } else { setIsReloading(stack, false); world.playSoundAtEntity(player, mainConfig.reloadSound, 1.0F, 1.0F); @@ -369,13 +370,14 @@ public class ItemGunBase extends Item implements IHoldableWeapon { } boolean hasLoaded = false; - Item ammo = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))).ammo; + BulletConfiguration cfg = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))); + Item ammo = cfg.ammo; for(int i = 0; i < count; i++) { - if(player.inventory.hasItem(ammo)) { + if(player.inventory.hasItem(ammo) && getMag(stack) < mainConfig.ammoCap) { player.inventory.consumeInventoryItem(ammo); - setMag(stack, getMag(stack) + 1); + setMag(stack, Math.min(getMag(stack) + cfg.ammoCount, mainConfig.ammoCap)); hasLoaded = true; } else { setIsReloading(stack, false); diff --git a/com/hbm/lib/HbmChestContents.java b/com/hbm/lib/HbmChestContents.java index 4debad688..ad90d8105 100644 --- a/com/hbm/lib/HbmChestContents.java +++ b/com/hbm/lib/HbmChestContents.java @@ -4,7 +4,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import net.minecraft.init.Items; import net.minecraft.item.Item; diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index 50540f8b5..5480eed98 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -17,8 +17,10 @@ import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidDuct; import com.hbm.interfaces.IFluidSource; import com.hbm.interfaces.ISource; +import com.hbm.interfaces.Spaghetti; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; +import com.hbm.items.tool.ItemToolAbilityPower; import com.hbm.potion.HbmPotion; import com.hbm.tileentity.conductor.TileEntityCable; import com.hbm.tileentity.conductor.TileEntityCableSwitch; @@ -45,6 +47,7 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; +@Spaghetti("this whole class") public class Library { static Random rand = new Random(); @@ -77,91 +80,6 @@ public class Library { } - 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 amount) { - - if(player.inventory.armorInventory[slot] == null) - return; - - int j = player.inventory.armorInventory[slot].getItemDamage(); - player.inventory.armorInventory[slot].setItemDamage(j += amount); - - if(player.inventory.armorInventory[slot].getItemDamage() >= player.inventory.armorInventory[slot].getMaxDamage()) - { - player.inventory.armorInventory[slot] = null; - } - } - - //radDura: Radiation duration in seconds - //radLevel: Radiation level (0 = I) - //maskDura: Radiation duration when wearing gasmask - //maskLevel: Radiation level when wearing gasmask - /*public static void applyRadiation(Entity e, int radDura, int radLevel, int maskDura, int maskLevel) { - - if(!(e instanceof EntityLivingBase)) - return; - - if(radDura == 0) - return; - - EntityLivingBase entity = (EntityLivingBase)e; - - if(entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer)entity; - - if(checkForHazmat(player)) - return; - - if(checkForGasMask(player)) { - - if(maskDura == 0) - return; - - entity.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, maskDura * 20, maskLevel)); - return; - } - } - - entity.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, radDura * 20, radLevel)); - }*/ - public static void applyRadData(Entity e, float f) { if(!(e instanceof EntityLivingBase)) @@ -195,140 +113,6 @@ public class Library { e.getEntityData().setFloat("hfr_radiation", rad + f); } - public static boolean checkForHazmat(EntityPlayer player) { - - if(checkArmor(player, ModItems.hazmat_helmet, ModItems.hazmat_plate, ModItems.hazmat_legs, ModItems.hazmat_boots) || - checkArmor(player, ModItems.hazmat_helmet_red, ModItems.hazmat_plate_red, ModItems.hazmat_legs_red, ModItems.hazmat_boots_red) || - checkArmor(player, ModItems.hazmat_helmet_grey, ModItems.hazmat_plate_grey, ModItems.hazmat_legs_grey, ModItems.hazmat_boots_grey) || - checkArmor(player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots) || - checkArmor(player, ModItems.schrabidium_helmet, ModItems.schrabidium_plate, ModItems.schrabidium_legs, ModItems.schrabidium_boots) || - checkForHaz2(player)) { - - return true; - } - - if(player.isPotionActive(HbmPotion.mutation)) - return true; - - return false; - } - - public static boolean checkForHaz2(EntityPlayer player) { - - if(checkArmor(player, ModItems.hazmat_paa_helmet, ModItems.hazmat_paa_plate, ModItems.hazmat_paa_legs, ModItems.hazmat_paa_boots) || - checkArmor(player, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots)) - { - return true; - } - - return false; - } - - public static boolean checkForAsbestos(EntityPlayer player) { - - if(checkArmor(player, ModItems.asbestos_helmet, ModItems.asbestos_plate, ModItems.asbestos_legs, ModItems.asbestos_boots)) - { - return true; - } - - return false; - } - - public static boolean checkForFaraday(EntityPlayer player) { - - ItemStack[] armor = player.inventory.armorInventory; - - if(armor[0] == null || armor[1] == null || armor[2] == null || armor[3] == null) return false; - - if(isFaradayArmor(armor[0].getItem()) && - isFaradayArmor(armor[1].getItem()) && - isFaradayArmor(armor[2].getItem()) && - isFaradayArmor(armor[3].getItem())) - return true; - - return false; - } - - public static final String[] metals = new String[] { - "chainmail", - "iron", - "silver", - "gold", - "platinum", - "tin", - "lead", - "schrabidium", - "euphemium", - "steel", - "cmb", - "titanium", - "alloy", - "copper", - "bronze", - "electrum", - "t45", - "hazmat", //also count because rubber is insulating - "rubber" - }; - - public static boolean isFaradayArmor(Item item) { - - String name = item.getUnlocalizedName(); - - for(String metal : metals) { - - if(name.toLowerCase().contains(metal)) - return true; - } - - return false; - } - - public static boolean checkForGasMask(EntityPlayer player) { - - if(checkArmorPiece(player, ModItems.hazmat_helmet, 3)) - { - return true; - } - if(checkArmorPiece(player, ModItems.hazmat_helmet_red, 3)) - { - return true; - } - if(checkArmorPiece(player, ModItems.hazmat_helmet_grey, 3)) - { - return true; - } - if(checkArmorPiece(player, ModItems.hazmat_paa_helmet, 3)) - { - return true; - } - if(checkArmorPiece(player, ModItems.gas_mask, 3)) - { - return true; - } - if(checkArmorPiece(player, ModItems.gas_mask_m65, 3)) - { - return true; - } - if(checkArmorPiece(player, ModItems.t45_helmet, 3)) - { - return true; - } - if(checkArmorPiece(player, ModItems.schrabidium_helmet, 3)) - { - return true; - } - if(checkArmorPiece(player, ModItems.euphemium_helmet, 3)) - { - return true; - } - - if(player.isPotionActive(HbmPotion.mutation)) - return true; - - return false; - } - public static boolean checkForHeld(EntityPlayer player, Item item) { if(player.getHeldItem() == null) @@ -337,16 +121,6 @@ public class Library { return player.getHeldItem().getItem() == item; } - public static boolean checkForFiend(EntityPlayer player) { - - return checkArmorPiece(player, ModItems.jackt, 2) && checkForHeld(player, ModItems.shimmer_sledge); - } - - public static boolean checkForFiend2(EntityPlayer player) { - - return checkArmorPiece(player, ModItems.jackt2, 2) && checkForHeld(player, ModItems.shimmer_axe); - } - public static boolean checkCableConnectables(World world, int x, int y, int z) { TileEntity tileentity = world.getTileEntity(x, y, z); @@ -436,12 +210,6 @@ public class Library { return false; } - - ////// ////// ////// ////// ////// //// ////// ////// ////// - // // // // // // // // // // // - //// ////// ///// // //// //// //// // // // // - // // // // // // // // // // // // // - ////// // // ///// // ////// // // ////// ////// ////// public static EntityLivingBase getClosestEntityForChopper(World world, double x, double y, double z, double radius) { double d4 = -1.0D; @@ -470,20 +238,6 @@ public class Library { return entityplayer; } - public static Item getItemByCode(int i) { - - if(i == 1337) - return ModItems.schrabidium_hammer; - if(i == 234) - return ModItems.euphemium_kit; - if(i == 69) - return ModItems.nuke_advanced_kit; - if(i == 34) - return ModItems.t45_kit; - - return null; - } - public static EntityPlayer getClosestPlayerForSound(World world, double x, double y, double z, double radius) { double d4 = -1.0D; EntityPlayer entity = null; @@ -615,52 +369,21 @@ public class Library { return Long.toString(l); } + //not great either but certainly better public static long chargeItemsFromTE(ItemStack[] slots, int index, long power, long maxPower) { if(slots[index] != null && slots[index].getItem() instanceof ItemBattery) { - - long dR = ((ItemBattery)slots[index].getItem()).getChargeRate(); - while(dR >= 1000000000000L) { - if(power - 100000000000000L >= 0 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100000000000000L; - dR -= 1000000000000L; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1000000000000L); - } else break; - } - while(dR >= 1000000000) { - if(power - 100000000000L >= 0 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100000000000L; - dR -= 1000000000; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1000000000); - } else break; - } - while(dR >= 1000000) { - if(power - 100000000 >= 0 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100000000; - dR -= 1000000; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1000000); - } else break; - } - while(dR >= 1000) { - if(power - 100000 >= 0 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100000; - dR -= 1000; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1000); - } else break; - } - while(dR >= 1) { - if(power - 100 >= 0 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - dR -= 1; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - } + long batMax = ItemBattery.getMaxChargeStatic(slots[index]); + long batCharge = ItemBattery.getCharge(slots[index]); + long batRate = ((ItemBattery)slots[index].getItem()).getChargeRate(); + + //in hHE + long toCharge = Math.min(Math.min(power / 100, batRate), batMax - batCharge); + + power -= toCharge * 100; + + ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], toCharge); if(slots[index] != null && slots[index].getItem() == ModItems.dynosphere_desh && ItemBattery.getCharge(slots[index]) >= ItemBattery.getMaxChargeStatic(slots[index])) slots[index] = new ItemStack(ModItems.dynosphere_desh_charged); @@ -671,34 +394,21 @@ public class Library { if(slots[index] != null && slots[index].getItem() == ModItems.dynosphere_dineutronium && ItemBattery.getCharge(slots[index]) >= ItemBattery.getMaxChargeStatic(slots[index])) slots[index] = new ItemStack(ModItems.dynosphere_dineutronium_charged); } - - for(int i = 0; i < 50; i++) - if(power - 10 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.elec_sword && slots[index].getItemDamage() > 0) - { - power -= 10; - slots[index].setItemDamage(slots[index].getItemDamage() - 1); - } else break; - - for(int i = 0; i < 50; i++) - if(power - 10 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.elec_pickaxe && slots[index].getItemDamage() > 0) - { - power -= 10; - slots[index].setItemDamage(slots[index].getItemDamage() - 1); - } else break; - - for(int i = 0; i < 50; i++) - if(power - 10 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.elec_axe && slots[index].getItemDamage() > 0) - { - power -= 10; - slots[index].setItemDamage(slots[index].getItemDamage() - 1); - } else break; - - for(int i = 0; i < 50; i++) - if(power - 10 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.elec_shovel && slots[index].getItemDamage() > 0) - { - power -= 10; - slots[index].setItemDamage(slots[index].getItemDamage() - 1); - } else break; + + if(slots[index] != null && slots[index].getItem() instanceof ItemToolAbilityPower) { + + long batMax = ItemToolAbilityPower.getMaxChargeStatic(slots[index]); + long batCharge = ItemToolAbilityPower.getCharge(slots[index]); + long batRate = ((ItemToolAbilityPower)slots[index].getItem()).getChargeRate(); + + //in hHE + long toCharge = Math.min(Math.min(power / 100, batRate), batMax - batCharge); + + power -= toCharge * 100; + + ((ItemToolAbilityPower)slots[index].getItem()).chargeBattery(slots[index], toCharge); + + } if(slots[index] != null && slots[index].getItem() instanceof ItemBattery) { ItemBattery.updateDamage(slots[index]); @@ -706,7 +416,8 @@ public class Library { return power; } - + + //TODO: rewrite this shit public static long chargeTEFromItems(ItemStack[] slots, int index, long power, long maxPower) { if(slots[index] != null && slots[index].getItem() == ModItems.battery_creative) @@ -720,58 +431,23 @@ public class Library { } if(slots[index] != null && slots[index].getItem() instanceof ItemBattery) { - ItemBattery.updateDamage(slots[index]); - } - - if(slots[index] != null && slots[index].getItem() instanceof ItemBattery) { - - long dR = ((ItemBattery)slots[index].getItem()).getDischargeRate(); - while(dR >= 1000000000000L) { - if(power + 100000000000000L <= maxPower && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100000000000000L; - dR -= 1000000000000L; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1000000000000L); - } else break; - } - while(dR >= 1000000000) { - if(power + 100000000000L <= maxPower && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100000000000L; - dR -= 1000000000L; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1000000000); - } else break; - } - while(dR >= 1000000) { - if(power + 100000000L <= maxPower && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100000000L; - dR -= 1000000; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1000000); - } else break; - } - while(dR >= 1000) { - if(power + 100000L <= maxPower && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100000L; - dR -= 1000; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1000); - } else break; - } - while(dR >= 1) { - if(power + 100L <= maxPower && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100L; - dR -= 1; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - } + long batCharge = ItemBattery.getCharge(slots[index]); + long batRate = ((ItemBattery)slots[index].getItem()).getDischargeRate(); + + //in hHe + long toDischarge = Math.min(Math.min((maxPower - power) / 100, batRate), batCharge); + + ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], toDischarge); + power += toDischarge * 100; + + ItemBattery.updateDamage(slots[index]); } return power; } + //TODO: jesus christ kill it //Flut-Füll gesteuerter Energieübertragungsalgorithmus //Flood fill controlled energy transmission algorithm public static void ffgeua(int x, int y, int z, boolean newTact, ISource that, World worldObj) { diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 608d093c0..0c3619f6a 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -2,6 +2,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityCloudFX; +import net.minecraft.client.particle.EntityFX; import net.minecraft.client.particle.EntityFlameFX; import net.minecraft.client.renderer.entity.RenderSnowball; import net.minecraft.client.renderer.texture.TextureManager; @@ -225,7 +226,7 @@ public class ClientProxy extends ServerProxy MinecraftForgeClient.registerItemRenderer(ModItems.gun_deagle, new ItemRenderWeaponObj()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_supershotgun, new ItemRenderWeaponObj()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_ks23, new ItemRenderWeaponObj()); - //MinecraftForgeClient.registerItemRenderer(ModItems.gun_rpg_ammo, new ItemRenderRocket()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_flamer, new ItemRenderWeaponObj()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBombMulti.class, new RenderBombMulti()); @@ -764,13 +765,45 @@ public class ClientProxy extends ServerProxy double mY = rand.nextGaussian() * motion; double mZ = rand.nextGaussian() * motion; + EntityFX fx = null; + if("flame".equals(data.getString("mode"))) { - EntityFlameFX fx = new EntityFlameFX(world, x, y, z, mX, mY, mZ); - Minecraft.getMinecraft().effectRenderer.addEffect(fx); + fx = new EntityFlameFX(world, x, y, z, mX, mY, mZ); } + + if("cloud".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityCloudFX(world, x, y, z, mX, mY, mZ); + } + + if(fx != null) + Minecraft.getMinecraft().effectRenderer.addEffect(fx); } } + if("vanillaExt".equals(type)) { + + double mX = data.getDouble("mX"); + double mY = data.getDouble("mY"); + double mZ = data.getDouble("mZ"); + + EntityFX fx = null; + + if("flame".equals(data.getString("mode"))) { + fx = new EntityFlameFX(world, x, y, z, mX, mY, mZ); + } + + if("smoke".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntitySmokeFX(world, x, y, z, mX, mY, mZ); + } + + if("cloud".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityCloudFX(world, x, y, z, mX, mY, mZ); + } + + if(fx != null) + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + if("vanilla".equals(type)) { double mX = data.getDouble("mX"); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 8745b35a4..321322dcb 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -3,7 +3,7 @@ package com.hbm.main; import com.hbm.blocks.ModBlocks; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.items.weapon.GunB92Cell; import net.minecraft.init.Blocks; @@ -28,36 +28,12 @@ public class CraftingManager { 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 ShapedOreRecipe(new ItemStack(ModItems.plate_titanium, 16), true, new Object[] { "TT", "TT", 'T', "ingotTitanium" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_aluminium, 16), new Object[] { "TT", "TT", 'T', "ingotAluminum" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_steel, 16), new Object[] { "TT", "TT", 'T', "ingotSteel" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_iron, 16), new Object[] { "TT", "TT", 'T', "ingotIron" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_lead, 16), new Object[] { "TT", "TT", 'T', "ingotLead" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_copper, 16), new Object[] { "TT", "TT", 'T', "ingotCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.board_copper, 1), new Object[] { "TTT", "TTT", 'T', "plateCopper" })); - //GameRegistry.addRecipe(new ItemStack(ModItems.plate_schrabidium, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_schrabidium}); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_gold, 16), new Object[] { "TT", "TT", 'T', "ingotGold" })); - //GameRegistry.addRecipe(new ItemStack(ModItems.plate_advanced_alloy, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_advanced_alloy}); - //GameRegistry.addRecipe(new ItemStack(ModItems.plate_combine_steel, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_combine_steel}); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_red_copper, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotRedstoneAlloy" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_tungsten, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotTungsten" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_aluminium, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotAluminum" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_copper, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotCopper" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_gold, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotGold" })); - //GameRegistry.addRecipe(new ItemStack(ModItems.wire_schrabidium, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_schrabidium }); - //GameRegistry.addRecipe(new ItemStack(ModItems.wire_advanced_alloy, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_advanced_alloy }); - //GameRegistry.addRecipe(new ItemStack(ModItems.wire_magnetized_tungsten, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_magnetized_tungsten }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth, 4), new Object[] { "LN", "LN", 'L', Items.leather, 'N', "nuggetLead" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth, 4), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', Items.leather, 'C', "dustLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth_red, 1), new Object[] { "C", "R", "C", 'C', ModItems.hazmat_cloth, 'R', "dustRedstone" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth_grey, 1), new Object[] { " P ", "ICI", " L ", 'C', ModItems.hazmat_cloth_red, 'P', "plateIron", 'L', "plateLead", 'I', ModItems.plate_polymer })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.asbestos_cloth, 4), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', Blocks.wool, 'C', "dustNetherQuartz" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.asbestos_cloth, 16), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', ModItems.powder_bromine, 'C', Blocks.wool })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.filter_coal, 1), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', Items.paper, 'C', "dustCoal" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_mixed, 3), new Object[] { "ANA", "NCN", "ANA", 'A', ModItems.plate_advanced_alloy, 'N', "plateDenseLead", 'C', ModItems.plate_combine_steel })); GameRegistry.addRecipe(new ItemStack(ModItems.bolt_dura_steel, 4), new Object[] { "D", "D", 'D', ModItems.ingot_dura_steel}); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.pipes_steel, 1), new Object[] { "B", "B", "B", 'B', "blockSteel" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.drill_titanium, 1), new Object[] { " B ", "IBI", "PPP", 'B', ModItems.bolt_dura_steel, 'I', ModItems.ingot_dura_steel, 'P', "plateTitanium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bolt_tungsten, 4), new Object[] { "D", "D", 'D', "ingotTungsten" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bolt_compound, 1), new Object[] { "PDP", "PTP", "PDP", 'D', ModItems.bolt_dura_steel, 'T', ModItems.bolt_tungsten, 'P', "plateTitanium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.pellet_coal, 1), new Object[] { "PFP", "FOF", "PFP", 'P', "dustCoal", 'F', Items.flint, 'O', ModBlocks.gravel_obsidian })); @@ -65,18 +41,9 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.plate_polymer, 4), new Object[] { "SWS", 'S', Items.string, 'W', Blocks.wool }); GameRegistry.addRecipe(new ItemStack(ModItems.plate_polymer, 4), new Object[] { "BB", 'B', Items.brick }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.magnet_dee, 1), new Object[] { "SMM", "M M", "MMT", 'S', "ingotSteel", 'M', ModBlocks.fusion_conductor, 'T', ModItems.coil_advanced_torus })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.magnet_circular, 2), new Object[] { "PSP", "MMM", "PSP", 'S', "ingotSteel", 'M', ModBlocks.fusion_conductor, 'P', "plateAdvanced" })); - //GameRegistry.addRecipe(new ItemStack(ModItems.cyclotron_tower, 1), new Object[] { "CDC", "CDC", "CDC", 'C', ModItems.magnet_circular, 'D', ModItems.magnet_dee }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.marker_structure, 1), new Object[] { "L", "G", "R", 'L', "dustLapis", 'G', Items.glowstone_dust, 'R', Blocks.redstone_torch })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_raw, 1), new Object[] { "A", "R", "S", 'S', "plateSteel", 'R', "dustRedstone", 'A', ModItems.wire_aluminium })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_aluminium, 1), new Object[] { "RAR", "ASA", "RAR", 'S', "plateSteel", 'R', "dustRedstone", 'A', ModItems.wire_aluminium })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_copper, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_aluminium, 'R', "dustNetherQuartz", 'A', ModItems.wire_copper })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_red_copper, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_copper, 'R', "dustGold", 'A', ModItems.wire_red_copper })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_gold, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_red_copper, 'R', "dustLapis", 'A', ModItems.wire_gold })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_schrabidium, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_gold, 'R', "dustDiamond", 'A', ModItems.wire_schrabidium })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_targeting_tier1, 1), new Object[] { "CPC", 'C', ModItems.circuit_aluminium, 'P', "dustRedstone" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_targeting_tier2, 1), new Object[] { "CPC", 'C', ModItems.circuit_copper, 'P', "dustNetherQuartz" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_targeting_tier3, 1), new Object[] { "CPC", 'C', ModItems.circuit_red_copper, 'P', "dustGold" })); @@ -90,14 +57,9 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Items.gunpowder, 3), new Object[] { "dustSulfur", "dustSalpeter", new ItemStack(Items.coal, 1, 1) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cell_empty, 6), new Object[] { "SSS", "G G", "SSS", 'S', "plateSteel", 'G', "paneGlass" })); - //GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.cell_uf6, 1), new Object[] { ModItems.cell_empty, "dustUranium", "dustFluorite", "dustFluorite", "dustFluorite", Items.water_bucket })); - //GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.cell_puf6, 1), new Object[] { ModItems.cell_empty, "dustPlutonium", "dustFluorite", "dustFluorite", "dustFluorite", Items.water_bucket })); GameRegistry.addRecipe(new ItemStack(ModItems.cell_deuterium, 8), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.cell_empty, 'T', ModItems.mike_deut }); - //GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.cell_sas3, 1), new Object[] { ModItems.cell_empty, ModItems.powder_schrabidium, "dustSulfur", "dustSulfur" })); - //GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.cell_sas3, 1), new Object[] { ModItems.cell_empty, ModItems.powder_schrabidium, "sulfur", "sulfur" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.canister_empty, 2), new Object[] { "S ", "AA", "AA", 'S', "plateSteel", 'A', "plateAluminum" })); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_barrel), 1), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.canister_fuel, 'T', ModItems.tank_steel }); GameRegistry.addRecipe(new ItemStack(ModBlocks.yellow_barrel, 1), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.nuclear_waste, 'T', ModItems.tank_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { "B", 'B', ModBlocks.yellow_barrel }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gas_empty, 2), new Object[] { "S ", "AA", "AA", 'A', "plateSteel", 'S', "plateCopper" })); @@ -145,17 +107,23 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModBlocks.block_pu238, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_pu238 }); GameRegistry.addRecipe(new ItemStack(ModBlocks.block_pu239, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_pu239 }); GameRegistry.addRecipe(new ItemStack(ModBlocks.block_pu240, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_pu240 }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.block_mox_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_mox_fuel }); GameRegistry.addRecipe(new ItemStack(ModBlocks.block_plutonium_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_plutonium_fuel }); GameRegistry.addRecipe(new ItemStack(ModBlocks.block_thorium_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_thorium_fuel }); GameRegistry.addRecipe(new ItemStack(ModBlocks.block_solinium, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_solinium }); GameRegistry.addRecipe(new ItemStack(ModBlocks.block_schrabidium_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_schrabidium_fuel }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.block_lithium, 1), new Object[] { "###", "###", "###", '#', ModItems.lithium }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.block_white_phosphorus, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_phosphorus }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.block_red_phosphorus, 1), new Object[] { "###", "###", "###", '#', ModItems.powder_fire }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.block_insulator, 1), new Object[] { "###", "###", "###", '#', ModItems.plate_polymer }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.block_asbestos, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_asbestos }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.block_fiberglass, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_fiberglass }); GameRegistry.addRecipe(new ItemStack(ModBlocks.hazmat, 8), new Object[] { "###", "# #", "###", '#', ModItems.hazmat_cloth }); GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_cloth, 1), new Object[] { "#", '#', ModBlocks.hazmat }); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { "nuggetUranium235", "nuggetUranium235", "nuggetUranium235", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { "nuggetUranium233", "nuggetUranium233", "nuggetUranium233", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238" })); - //GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_thorium_fuel, 1), new Object[] { "nuggetUranium235", "nuggetUranium235", "nuggetUranium235", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_thorium_fuel, 1), new Object[] { "nuggetUranium233", "nuggetUranium233", "nuggetUranium233", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_plutonium_fuel, 1), new Object[] { "nuggetPlutonium238", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium240", "nuggetPlutonium240", "nuggetPlutonium240" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_mox_fuel, 1), new Object[] { "nuggetUranium235", "nuggetUranium235", "nuggetUranium235", "nuggetUranium238", "nuggetUranium238", "nuggetPlutonium238", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239" })); @@ -204,10 +172,17 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.ingot_pu238, 9), new Object[] { "#", '#', ModBlocks.block_pu238 }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_pu239, 9), new Object[] { "#", '#', ModBlocks.block_pu239 }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_pu240, 9), new Object[] { "#", '#', ModBlocks.block_pu240 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_mox_fuel, 9), new Object[] { "#", '#', ModBlocks.block_mox_fuel }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_plutonium_fuel, 9), new Object[] { "#", '#', ModBlocks.block_plutonium_fuel }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_thorium_fuel, 9), new Object[] { "#", '#', ModBlocks.block_thorium_fuel }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_solinium, 9), new Object[] { "#", '#', ModBlocks.block_solinium }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_schrabidium_fuel, 9), new Object[] { "#", '#', ModBlocks.block_schrabidium_fuel }); + GameRegistry.addRecipe(new ItemStack(ModItems.lithium, 9), new Object[] { "#", '#', ModBlocks.block_lithium }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_phosphorus, 9), new Object[] { "#", '#', ModBlocks.block_white_phosphorus }); + GameRegistry.addRecipe(new ItemStack(ModItems.powder_fire, 9), new Object[] { "#", '#', ModBlocks.block_red_phosphorus }); + GameRegistry.addRecipe(new ItemStack(ModItems.plate_polymer, 9), new Object[] { "#", '#', ModBlocks.block_insulator }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_asbestos, 9), new Object[] { "#", '#', ModBlocks.block_asbestos }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_fiberglass, 9), new Object[] { "#", '#', ModBlocks.block_fiberglass }); 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 }); @@ -379,6 +354,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 6), new Object[] { ModItems.rod_schrabidium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_solinium, 6), new Object[] { ModItems.rod_solinium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium_fuel, 6), new Object[] { ModItems.rod_uranium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_thorium_fuel, 6), new Object[] { ModItems.rod_thorium_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 }); @@ -403,6 +379,7 @@ public class CraftingManager { 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_solinium, 12), new Object[] { ModItems.rod_dual_solinium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_thorium_fuel, 12), new Object[] { ModItems.rod_dual_thorium_fuel }); 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 }); @@ -421,6 +398,7 @@ public class CraftingManager { 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_solinium, 24), new Object[] { ModItems.rod_quad_solinium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_thorium_fuel, 24), new Object[] { ModItems.rod_quad_thorium_fuel }); 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 }); @@ -528,45 +506,11 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.fins_quad_titanium, 1), new Object[] { " PP", "III", " PP", 'P', "plateTitanium", 'I', "ingotTitanium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.sphere_steel, 1), new Object[] { "PIP", "I I", "PIP", 'P', "plateSteel", 'I', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.pedestal_steel, 1), new Object[] { "P P", "P P", "III", 'P', "plateSteel", 'I', "ingotSteel" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.dysfunctional_reactor, 1), new Object[] { "PPP", "CDC", "PPP", 'P', "plateSteel", 'C', ModItems.rod_quad_empty, 'D', new ItemStack(Items.dye, 1, 3) })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.warhead_generic_small, 1), new Object[] { " P ", "PTP", "PTP", 'P', "plateTitanium", 'T', Item.getItemFromBlock(Blocks.tnt) })); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_incendiary_small, 1), new Object[] { " P ", "PWP", " P ", 'P', ModItems.powder_fire, 'W', ModItems.warhead_generic_small }); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_cluster_small, 1), new Object[] { " P ", "PWP", " P ", 'P', ModItems.pellet_cluster, 'W', ModItems.warhead_generic_small }); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_buster_small, 1), new Object[] { " P ", "PWP", " P ", 'P', Item.getItemFromBlock(ModBlocks.det_cord), 'W', ModItems.warhead_generic_small }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.warhead_generic_medium, 1), new Object[] { " P ", "PTP", "TTT", 'P', "plateTitanium", 'T', Item.getItemFromBlock(Blocks.tnt) })); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_incendiary_medium, 1), new Object[] { "PPP", "PWP", "PPP", 'P', ModItems.powder_fire, 'W', ModItems.warhead_generic_medium }); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_cluster_medium, 1), new Object[] { "PPP", "PWP", "PPP", 'P', ModItems.pellet_cluster, 'W', ModItems.warhead_generic_medium }); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_buster_medium, 1), new Object[] { "PPP", "PWP", "PPP", 'P', Item.getItemFromBlock(ModBlocks.det_cord), 'W', ModItems.warhead_generic_medium }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.warhead_generic_large, 1), new Object[] { "PTP", "PTP", "TTT", 'P', "plateTitanium", 'T', Item.getItemFromBlock(Blocks.tnt) })); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_incendiary_large, 1), new Object[] { "PXP", "XWX", "PXP", 'P', ModItems.powder_fire, 'W', ModItems.warhead_generic_large, 'X', Items.lava_bucket }); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_cluster_large, 1), new Object[] { "PXP", "XWX", "PXP", 'P', ModItems.pellet_cluster, 'W', ModItems.warhead_generic_large, 'X', Item.getItemFromBlock(ModBlocks.det_cord) }); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_buster_large, 1), new Object[] { "PXP", "XWX", "PXP", 'P', Item.getItemFromBlock(ModBlocks.det_cord), 'W', ModItems.warhead_generic_large, 'X', ModBlocks.det_charge }); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_nuclear, 1), new Object[] { " N ", "TZT", "TBT", 'N', ModItems.boy_shielding, 'Z', ModItems.boy_target, 'B', ModItems.boy_bullet, 'T', ModItems.plate_titanium }); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_mirvlet, 1), new Object[] { " S ", "SPS", "STS", 'S', ModItems.plate_steel, 'P', ModItems.ingot_pu239, 'T', Item.getItemFromBlock(Blocks.tnt) }); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_mirv, 1), new Object[] { "MMM", "MWM", "MMM", 'M', ModItems.warhead_mirvlet, 'W', ModItems.warhead_generic_large }); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_thermo_endo, 1), new Object[] { " T ", "TBT", "TBT", 'T', ModItems.plate_titanium, 'B', Item.getItemFromBlock(ModBlocks.therm_endo) }); - //GameRegistry.addRecipe(new ItemStack(ModItems.warhead_thermo_exo, 1), new Object[] { " T ", "TBT", "TBT", 'T', ModItems.plate_titanium, 'B', Item.getItemFromBlock(ModBlocks.therm_exo) }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.fuel_tank_small, 1), new Object[] { "PTP", "PTP", "PTP", 'P', "plateTitanium", 'T', ModItems.canister_kerosene })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.fuel_tank_medium, 1), new Object[] { "PTP", "PTP", "PTP", 'P', "plateTitanium", 'T', ModItems.fuel_tank_small })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.fuel_tank_large, 1), new Object[] { "PTP", "PTP", "PTP", 'P', "plateTitanium", 'T', ModItems.fuel_tank_medium })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.thruster_small, 1), new Object[] { "AS ", "AH ", " L ", 'A', ModItems.wire_aluminium, 'S', "plateSteel", 'H', ModItems.hull_small_steel, 'L', ModItems.hull_small_steel })); - //GameRegistry.addRecipe(new ItemStack(ModItems.thruster_medium, 1), new Object[] { "AS ", "AH ", " L ", 'A', ModItems.wire_copper, 'S', ModItems.thruster_small, 'H', ModItems.hull_small_steel, 'L', ModItems.hull_big_steel }); - //GameRegistry.addRecipe(new ItemStack(ModItems.thruster_large, 1), new Object[] { "AS ", "AH ", " L ", 'A', ModItems.wire_red_copper, 'S', ModItems.thruster_medium, 'H', ModItems.hull_big_steel, 'L', ModItems.hull_big_steel }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.lemon, 1), new Object[] { " D ", "DSD", " D ", 'D', new ItemStack(Items.dye, 1, 11), 'S', "stone" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.chopper_blades, 1), new Object[] { "CCC", "SIS", " I ", 'C', ModItems.plate_combine_steel, 'S', "plateSteel", 'I', ModItems.ingot_combine_steel })); - //GameRegistry.addRecipe(new ItemStack(ModItems.chopper_gun, 1), new Object[] { " PI", "WWC", " PM", 'P', ModItems.plate_combine_steel, 'W', ModItems.wire_magnetized_tungsten, 'I', ModItems.ingot_combine_steel, 'C', ModItems.coil_magnetized_tungsten, 'M', ModItems.motor }); - //GameRegistry.addRecipe(new ItemStack(ModItems.chopper_head, 1), new Object[] { " GI", "WIB", "WCB", 'G', ModBlocks.reinforced_glass, 'W', ModItems.wire_magnetized_tungsten, 'I', ModItems.ingot_combine_steel, 'C', ModBlocks.fwatz_computer, 'B', ModBlocks.block_combine_steel }); - //GameRegistry.addRecipe(new ItemStack(ModItems.chopper_tail, 1), new Object[] { "PPP", "IIM", " PR", 'P', ModItems.plate_combine_steel, 'I', ModItems.ingot_combine_steel, 'M', ModItems.motor, 'R', ModItems.chopper_blades }); - //GameRegistry.addRecipe(new ItemStack(ModItems.chopper_torso, 1), new Object[] { "IMI", "MBB", "RCI", 'P', ModItems.plate_combine_steel, 'I', ModItems.ingot_combine_steel, 'M', ModItems.motor, 'B', ModBlocks.block_combine_steel, 'R', ModItems.chopper_blades, 'C', ModBlocks.fwatz_computer }); - //GameRegistry.addRecipe(new ItemStack(ModItems.chopper_wing, 1), new Object[] { "III", " PP", " PP", 'P', ModItems.plate_combine_steel, 'I', ModItems.ingot_combine_steel }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.telepad, 1), new Object[] { "CPC", "SUS", "WWW", 'C', ModItems.plate_combine_steel, 'P', ModItems.plate_schrabidium, 'S', "plateSteel", 'U', ModItems.circuit_schrabidium, 'W', ModItems.wire_gold })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.entanglement_kit, 1), new Object[] { "CEC", "PDP", "CSC", 'C', ModItems.coil_magnetized_tungsten, 'P', "plateDenseLead", 'S', ModItems.singularity_super_heated, 'E', ModItems.singularity_counter_resonant, 'D', ModItems.powder_power })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.entanglement_kit, 1), new Object[] { "CSC", "PDP", "CEC", 'C', ModItems.coil_magnetized_tungsten, 'P', "plateDenseLead", 'S', ModItems.singularity_super_heated, 'E', ModItems.singularity_counter_resonant, 'D', ModItems.powder_power })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blade_titanium, 2), new Object[] { "TP", "TP", "TT", 'P', "plateTitanium", 'T', "ingotTitanium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turbine_titanium, 1), new Object[] { "BBB", "BSB", "BBB", 'B', ModItems.blade_titanium, 'S', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.rotor_steel, 3), new Object[] { "CCC", "SSS", "CCC", 'C', ModItems.coil_gold, 'S', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.generator_steel, 1), new Object[] { "RRR", "CCC", "SSS", 'C', ModItems.coil_gold_torus, 'S', "ingotSteel", 'R', ModItems.rotor_steel })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.generator_front, 1), new Object[] { "PSP", "TBT", "TWT", 'P', "plateSteel", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'B', ModItems.turbine_titanium, 'W', ModBlocks.red_wire_coated })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.shimmer_head, 1), new Object[] { "SSS", "DTD", "SSS", 'S', "ingotSteel", 'D', "blockDesh", 'T', "blockTungsten" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.shimmer_axe_head, 1), new Object[] { "PII", "PBB", "PII", 'P', "plateSteel", 'B', "blockDesh", 'I', "ingotTungsten" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.shimmer_handle, 1), new Object[] { "GP", "GP", "GP", 'G', "plateGold", 'P', "ingotPolymer" })); @@ -583,22 +527,6 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.toothpicks, 3), new Object[] { Items.stick, Items.stick, Items.stick }); GameRegistry.addShapedRecipe(new ItemStack(ModItems.ducttape, 6), new Object[] { "FSF", "SPS", "FSF", 'F', Items.string, 'S', Items.slime_ball, 'P', Items.paper }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_generic, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_generic_small, 'T', ModItems.fuel_tank_small, 'M', ModItems.thruster_small }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_incendiary, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_incendiary_small, 'T', ModItems.fuel_tank_small, 'M', ModItems.thruster_small }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_cluster, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_cluster_small, 'T', ModItems.fuel_tank_small, 'M', ModItems.thruster_small }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_buster, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_buster_small, 'T', ModItems.fuel_tank_small, 'M', ModItems.thruster_small }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_strong, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_generic_medium, 'T', ModItems.fuel_tank_medium, 'M', ModItems.thruster_medium }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_incendiary_strong, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_incendiary_medium, 'T', ModItems.fuel_tank_medium, 'M', ModItems.thruster_medium }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_cluster_strong, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_cluster_medium, 'T', ModItems.fuel_tank_medium, 'M', ModItems.thruster_medium }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_buster_strong, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_buster_medium, 'T', ModItems.fuel_tank_medium, 'M', ModItems.thruster_medium }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_burst, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_generic_large, 'T', ModItems.fuel_tank_large, 'M', ModItems.thruster_large }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_inferno, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_incendiary_large, 'T', ModItems.fuel_tank_large, 'M', ModItems.thruster_large }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_rain, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_cluster_large, 'T', ModItems.fuel_tank_large, 'M', ModItems.thruster_large }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_drill, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_buster_large, 'T', ModItems.fuel_tank_large, 'M', ModItems.thruster_large }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_nuclear, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_nuclear, 'T', ModItems.fuel_tank_large, 'M', ModItems.thruster_large }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_nuclear_cluster, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_mirv, 'T', ModItems.fuel_tank_large, 'M', ModItems.thruster_large }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_endo, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_thermo_endo, 'T', ModItems.fuel_tank_large, 'M', ModItems.thruster_large }); - //GameRegistry.addRecipe(new ItemStack(ModItems.missile_exo, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_thermo_exo, 'T', ModItems.fuel_tank_large, 'M', ModItems.thruster_large }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_taint, 1), new Object[] { ModItems.missile_assembly, ModItems.bucket_mud, ModItems.powder_spark_mix, ModItems.powder_magic }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_micro, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.gun_fatman_ammo }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_bhole, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.grenade_black_hole }); @@ -607,16 +535,11 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_emp, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModBlocks.emp_bomb, ModItems.circuit_targeting_tier3 }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 1), new Object[] { "T T", "PHP", "TFT", 'T', "ingotTungsten", 'P', ModItems.board_copper, 'H', Blocks.hopper, 'F', Blocks.furnace })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_centrifuge), 1), new Object[] { " T ", "RDR", "RSR", 'S', "plateSteel", 'T', ModItems.centrifuge_tower, 'W', ModItems.coil_tungsten, 'R', ModItems.coil_copper, 'D', Item.getItemFromBlock(ModBlocks.machine_difurnace_off) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateIron", 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', "ingotRedstoneAlloy" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_puf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateSteel", 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', "ingotRedstoneAlloy" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_reactor), 1), new Object[] { "LSL", "SCS", "LSL", 'S', "ingotSteel", 'L', "ingotLead", 'C', ModItems.reactor_core })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 1), new Object[] { "SSS", "LFL", "CCC", 'S', "plateSteel", 'C', ModItems.board_copper, 'L', "plateLead", 'F', Item.getItemFromBlock(Blocks.furnace) })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_rtg_furnace_off), 1), new Object[] { "NNN", "NFN", "UUU", 'N', "plateDenseLead", '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.board_copper, 'F', Item.getItemFromBlock(Blocks.furnace) }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_arc_furnace_off, 1), new Object[] { "ITI", "PFP", "ITI", 'I', "ingotTungsten", 'T', ModBlocks.machine_transformer, 'P', ModItems.board_copper, 'F', Blocks.furnace })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_generator), 1), new Object[] { "SLS", "LCL", "SLS", 'C', ModItems.circuit_red_copper, 'L', ModItems.rod_quad_lead, 'S', "ingotSteel" })); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_industrial_generator), 1), new Object[] { "PPP", "FGG", "WSS", 'P', ModItems.board_copper, 'F', ModItems.generator_front, 'G', ModItems.generator_steel, 'W', ModBlocks.red_wire_coated, 'S', ModItems.pedestal_steel }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 16), new Object[] { "WRW", "RIR", "WRW", 'W', ModItems.plate_polymer, 'I', "ingotRedstoneAlloy", 'R', ModItems.wire_red_copper })); GameRegistry.addRecipe(new ItemStack(ModBlocks.cable_switch, 1), new Object[] { "S", "W", 'S', Blocks.lever, 'W', ModBlocks.red_wire_coated }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_cable), 16), new Object[] { " W ", "RRR", " W ", 'W', ModItems.plate_polymer, 'R', ModItems.wire_red_copper }); @@ -625,26 +548,13 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.oil_duct), 16), new Object[] { "SIS", " ", "SIS", 'S', "plateSteel", 'I', "plateIron" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.gas_duct_solid), 16), new Object[] { "SPS", "P P", "SPS", 'S', "ingotSteel", 'P', "plateCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.gas_duct), 16), new Object[] { "SIS", " ", "SIS", 'S', "plateSteel", 'I', "plateCopper" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_deuterium), 1), new Object[] { "TIT", "RFR", "CCC", 'T', ModItems.tank_steel, 'I', "ingotTitanium", 'R', ModItems.wire_red_copper, 'F', Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 'C', ModItems.coil_tungsten })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 1), new Object[] { "TST", "RIR", "TLT", 'T', "ingotTungsten", 'I', "ingotRedstoneAlloy", 'R', ModItems.wire_red_copper, 'S', "blockSulfur", 'L', "blockLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_battery_potato, 1), new Object[] { "PCP", "WRW", "PCP", 'P', ItemBattery.getEmptyBattery(ModItems.battery_potato), 'C', "ingotCopper", 'R', Blocks.redstone_block, 'W', "plankWood" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 1), new Object[] { "TLT", "RIR", "TST", 'T', "ingotTungsten", 'I', "ingotRedstoneAlloy", 'R', ModItems.wire_red_copper, 'S', "blockSulfur", 'L', "blockLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_coal_off, 1), new Object[] { "STS", "SCS", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'C', "ingotRedstoneAlloy", 'F', Blocks.furnace })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_boiler_off, 1), new Object[] { "SPS", "TFT", "SPS", 'S', "ingotSteel", 'P', ModItems.board_copper, 'T', ModItems.tank_steel, 'F', Blocks.furnace })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_boiler_electric_off, 1), new Object[] { "SPS", "TFT", "SPS", 'S', "ingotDesh", 'P', ModItems.board_copper, 'T', ModItems.tank_steel, 'F', ModBlocks.machine_electric_furnace_off })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_turbine, 1), new Object[] { "PTP", "BMB", "PTP", 'P', "plateTitanium", 'T', ModItems.turbine_titanium, 'B', ModItems.tank_steel, 'M', ModItems.motor })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_converter_he_rf, 1), new Object[] { "SSS", "CRB", "SSS", 'S', "ingotSteel", 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus, 'B', "blockRedstone" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_converter_rf_he, 1), new Object[] { "SSS", "BRC", "SSS", 'S', ModItems.ingot_beryllium, 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus, 'B', "blockRedstone" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_schrabidium_transmutator), 1), new Object[] { "TST", "ARA", "BBB", 'S', ModItems.nugget_schrabidium , 'T', "ingotTitanium", 'A', Item.getItemFromBlock(ModBlocks.factory_advanced_hull), 'R', Item.getItemFromBlock(ModBlocks.machine_reactor), 'B', Item.getItemFromBlock(ModBlocks.machine_battery) })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_diesel), 1), new Object[] { "HTH", "PRP", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'H', ModItems.hull_small_steel, 'P', Item.getItemFromBlock(Blocks.piston), 'R', "ingotRedstoneAlloy", 'F', Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off) })); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_shredder), 1), new Object[] { "SHS", "MBM", "CFC", 'H', ModItems.hull_big_steel, 'S', ModBlocks.steel_beam, 'M', ModItems.motor, 'B', Blocks.iron_bars, 'C', ModBlocks.red_wire_coated, 'F', Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off) }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_combine_factory), 1), new Object[] { "HCH", "STS", "RFR", 'H', ModItems.tank_steel, 'C', ModItems.coil_advanced_torus, 'S', "plateSteel", 'T', ModBlocks.block_magnetized_tungsten, 'R', ModItems.wire_red_copper, 'F', Item.getItemFromBlock(ModBlocks.machine_difurnace_off) })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_teleporter), 1), new Object[] { "PTP", "FKF", "BBB", 'P', "plateTitanium", 'T', ModItems.telepad, 'F', Item.getItemFromBlock(ModBlocks.factory_advanced_hull), 'K', ModItems.entanglement_kit, 'B', Item.getItemFromBlock(ModBlocks.machine_battery) })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_rtg_grey), 1), new Object[] { "UPU", "UWU", "UPU", 'P', "plateSteel", 'U', ModItems.rtg_unit, 'W', ModBlocks.red_wire_coated })); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_cyclotron), 1), new Object[] { "PTP", "PCP", "WBW", 'P', ModItems.board_copper, 'T', ModItems.cyclotron_tower, 'C', ModBlocks.fusion_core, 'W', ModBlocks.red_wire_coated, 'B', ModBlocks.machine_battery }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_well), 1), new Object[] { "TPM", "GPG", "GDG", 'T', ModItems.tank_steel, 'P', ModItems.pipes_steel, 'M', ModItems.motor, 'G', ModBlocks.steel_scaffold, 'D', ModItems.drill_titanium }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_flare), 1), new Object[] { "UHU", "GPG", "GTG", 'U', ModItems.thermo_element, 'H', ModItems.hull_small_steel, 'G', ModBlocks.steel_scaffold, 'P', ModItems.pipes_steel, 'T', ModItems.tank_steel }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_refinery), 1), new Object[] { "PTP", "CTC", "WFW", 'P', "plateTitanium", 'T', ModItems.tank_steel, 'C', ModItems.coil_tungsten, 'W', ModBlocks.red_wire_coated, 'F', ModBlocks.machine_electric_furnace_off })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.crate_iron, 1), new Object[] { "PPP", "I I", "III", 'P', "plateIron", 'I', "ingotIron" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.crate_steel, 1), new Object[] { "PPP", "I I", "III", 'P', "plateSteel", 'I', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.safe, 1), new Object[] { "LAL", "ACA", "LAL", 'L', "plateLead", 'A', "plateAdvanced", 'C', ModBlocks.crate_steel })); @@ -657,18 +567,11 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_conductor), 1), new Object[] { "SWS", "FFF", "SWS", 'S', "ingotTitanium", 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'F', ModItems.fuse })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_core), 1), new Object[] { "HPH", "PCP", "HPH", 'H', Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 'C', ModItems.circuit_aluminium, 'P', Item.getItemFromBlock(Blocks.piston) }); GameRegistry.addRecipe(ItemBattery.getEmptyBattery(ModItems.factory_core_titanium), new Object[] { "BRB", "RHR", "BRB", 'B', ItemBattery.getEmptyBattery(ModItems.battery_generic), 'R', Item.getItemFromBlock(Blocks.redstone_block), 'H', Item.getItemFromBlock(ModBlocks.factory_titanium_hull) }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_advanced_hull), 1), new Object[] { "PIP", "I I", "PIP", 'P', ModItems.plate_advanced_alloy, 'I', ModItems.ingot_advanced_alloy }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_advanced_furnace), 1), new Object[] { "HMH", "MFM", "HMH", 'H', Item.getItemFromBlock(ModBlocks.factory_advanced_hull), 'M', ModItems.motor, 'F', Item.getItemFromBlock(Blocks.furnace) }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_advanced_conductor), 1), new Object[] { "SWS", "FFF", "SWS", 'S', ModItems.ingot_advanced_alloy, 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'F', ModItems.fuse }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_advanced_core), 1), new Object[] { "HPH", "PCP", "HPH", 'H', Item.getItemFromBlock(ModBlocks.factory_advanced_hull), 'C', ModItems.circuit_red_copper, 'P', Item.getItemFromBlock(Blocks.piston) }); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.factory_core_advanced), new Object[] { "BLB", "SHS", "BLB", 'B', ItemBattery.getEmptyBattery(ModItems.battery_advanced), 'S', "blockSulfur", 'L', "blockLead", 'H', Item.getItemFromBlock(ModBlocks.factory_advanced_hull) })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.factory_core_advanced), new Object[] { "BSB", "LHL", "BSB", 'B', ItemBattery.getEmptyBattery(ModItems.battery_advanced), 'S', "blockSulfur", 'L', "blockLead", 'H', Item.getItemFromBlock(ModBlocks.factory_advanced_hull) })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.fuse, 1), new Object[] { " S ", "GAG", " S ", 'S', "plateSteel", 'G', Item.getItemFromBlock(Blocks.glass_pane), 'A', ModItems.wire_aluminium })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.arc_electrode, 1), new Object[] { "C", "T", "C", 'C', "dustCoal", 'T', ModItems.bolt_tungsten })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.arc_electrode_desh, 1), new Object[] { "C", "T", "C", 'C', "dustDesh", 'T', ModItems.arc_electrode })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.redcoil_capacitor, 1), new Object[] { "PFP", "CBC", "CBC", 'P', "plateGold", 'B', Item.getItemFromBlock(Blocks.redstone_block), 'C', ModItems.coil_advanced_alloy, 'F', ModItems.fuse })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.titanium_filter, 1), new Object[] { "PFP", "CBC", "CBC", 'P', "plateLead", 'B', "U238", 'C', "plateTitanium", 'F', ModItems.fuse })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.detonator, 1), new Object[] { " W", "SC", "CE", 'S', "plateSteel", 'W', ModItems.wire_red_copper, 'C', ModItems.circuit_red_copper, 'E', "ingotSteel" })); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.detonator_multi, 1), new Object[] { ModItems.detonator, ModItems.circuit_targeting_tier3 }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.detonator_laser, 1), new Object[] { "RRD", "PIC", " P", 'P', "plateSteel", 'R', Items.redstone, 'C', ModItems.circuit_targeting_tier3, 'D', "gemDiamond", 'I', "ingotSteel" })); @@ -694,9 +597,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.crystal_energy, 1), new Object[] { "EEE", "EGE", "EEE", 'E', ModItems.powder_power, 'G', Items.glowstone_dust }); GameRegistry.addRecipe(new ItemStack(ModItems.pellet_coolant, 1), new Object[] { "CRC", "RBR", "CRC", 'C', ModItems.powder_ice, 'R', ModItems.rod_quad_coolant, 'B', ModBlocks.block_niter }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.thermo_element, 1), new Object[] { "GRG", "APA", "GRG", 'P', "plateSteel", 'G', Items.gold_nugget, 'R', ModItems.wire_red_copper, 'A', ModItems.wire_aluminium })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.limiter, 1), new Object[] { "SC", "SC", "LS", 'S', "plateSteel", 'C', ModItems.circuit_copper, 'L', "plateLead" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_aluminium, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateAluminum", 'I', "ingotAluminum" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_gold, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateGold", 'I', "ingotGold" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_iron, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateIron", 'I', "ingotIron" })); @@ -719,44 +619,17 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mechanism_rifle_2, 1), new Object[] { "ICI", "CMA", "IAM", 'I', "plateAdvanced", 'C', "ingotDuraSteel", 'A', "ingotTungsten", 'M', ModItems.mechanism_revolver_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mechanism_launcher_1, 1), new Object[] { "TTT", "SSS", "BBI", 'T', "plateTitanium", 'S', "ingotSteel", 'B', ModItems.bolt_tungsten, 'I', "ingotRedstoneAlloy" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mechanism_launcher_2, 1), new Object[] { "TTT", "SSS", "BBI", 'T', "plateAdvanced", 'S', "ingotPolymer", 'B', ModItems.bolt_dura_steel, 'I', "ingotDesh" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mechanism_special, 1), new Object[] { "PCI", "ISS", "PCI", 'P', "plateDesh", 'C', ModItems.coil_advanced_alloy, 'I', ModItems.ingot_starmetal, 'S', ModItems.circuit_targeting_tier3 })); + GameRegistry.addRecipe(new ItemStack(ModItems.mechanism_special, 1), new Object[] { "PCI", "ISS", "PCI", 'P', ModItems.plate_desh, 'C', ModItems.coil_advanced_alloy, 'I', ModItems.ingot_starmetal, 'S', ModItems.circuit_targeting_tier3 }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_element), 1), new Object[] { "SCS", "CSC", "SCS", 'S', "ingotSteel", 'C', ModItems.rod_quad_empty })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_control), 1), new Object[] { "SLS", "SLS", "SLS", 'S', "ingotSteel", 'L', "ingotLead" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_conductor), 1), new Object[] { "SWS", "FFF", "SWS", 'S', "ingotSteel", 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'F', ModItems.fuse })); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_computer), 1), new Object[] { "CWC", "CRC", "CWC", 'C', ModItems.circuit_red_copper, 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'R', Item.getItemFromBlock(ModBlocks.reactor_conductor) }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_hatch), 1), new Object[] { "BBB", "BFB", "BBB", 'B', Item.getItemFromBlock(ModBlocks.brick_concrete), 'F', Item.getItemFromBlock(Blocks.furnace) }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.reactor_ejector, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', "plateLead", 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.reactor_inserter, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', "plateCopper", 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fusion_conductor), 1), new Object[] { "SSS", "CCC", "SSS", 'S', "plateSteel", 'C', ModItems.coil_advanced_alloy })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fusion_center), 1), new Object[] { "TMT", "TWT", "TMT", 'T', "ingotTungsten", 'M', Item.getItemFromBlock(ModBlocks.fusion_conductor), 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated) })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fusion_motor), 1), new Object[] { "MTM", "TTT", "MTM", 'T', "ingotTitanium", 'M', ModItems.motor })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fusion_heater), 1), new Object[] { "TTT", "CCC", "TTT", 'T', "ingotTungsten", 'C', ModItems.magnetron })); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fusion_hatch), 1), new Object[] { "TTT", "TFT", "TTT", 'T', Item.getItemFromBlock(ModBlocks.fusion_heater), 'F', Item.getItemFromBlock(Blocks.furnace) }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fusion_core), 1), new Object[] { "CWC", "CRC", "CWC", 'C', ModItems.circuit_gold, 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'R', Item.getItemFromBlock(ModBlocks.fusion_center) }); - - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_element), 2), new Object[] { "TET", "ERE", "TET", 'T', "ingotTungsten", 'R', Item.getItemFromBlock(ModBlocks.fusion_conductor), 'E', Item.getItemFromBlock(ModBlocks.reactor_element) })); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_control), 2), new Object[] { "TMT", "MWM", "TMT", 'T', ModItems.ingot_advanced_alloy, 'M', Item.getItemFromBlock(ModBlocks.reactor_control), 'W', ModItems.coil_copper_torus }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_cooler), 1), new Object[] { "SCS", "CNC", "SCS", 'N', "blockSteel", 'C', ModItems.rod_quad_coolant, 'S', "dustNetherQuartz" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_end), 1), new Object[] { "TST", "SBS", "TST", 'T', "ingotTungsten", 'S', "ingotSteel", 'B', "blockLead" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_conductor), 1), new Object[] { "TWT", "FNF", "TWT", 'T', "ingotTungsten", 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'F', ModItems.fuse, 'N', "nuggetSchrabidium" })); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_hatch), 1), new Object[] { "RRR", "RFR", "RRR", 'R', Item.getItemFromBlock(ModBlocks.reinforced_brick), 'F', Item.getItemFromBlock(Blocks.furnace) }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.watz_core), 1), new Object[] { "CWC", "CRC", "CWC", 'C', ModItems.circuit_schrabidium, 'W', Item.getItemFromBlock(ModBlocks.watz_conductor), 'R', Item.getItemFromBlock(ModBlocks.block_meteor) }); - - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_conductor), 1), new Object[] { "SSS", "CCC", "SSS", 'S', ModItems.plate_combine_steel, 'C', ModItems.coil_magnetized_tungsten }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_cooler), 1), new Object[] { "IPI", "IPI", "IPI", 'I', "ingotTitanium", 'P', "plateTitanium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_tank), 1), new Object[] { "CGC", "GGG", "CGC", 'C', ModItems.plate_combine_steel, 'G', "paneGlass" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_scaffold), 1), new Object[] { "IPI", "P P", "IPI", 'I', "ingotTungsten", 'P', "plateDenseLead" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_hatch), 1), new Object[] { "SSS", "SFS", "SSS", 'S', ModBlocks.fwatz_scaffold, 'F', Blocks.furnace })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_computer), 1), new Object[] { "DTD", "TMT", "DTD", 'D', "dustDiamond", 'T', "dustMagnetizedTungsten", 'M', ModBlocks.block_meteor })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_core), 1), new Object[] { "CMC", "MAM", "CMC", 'C', ModItems.circuit_schrabidium, 'M', ModBlocks.fwatz_computer, 'A', ModBlocks.fwatz_conductor })); GameRegistry.addRecipe(new ItemStack(ModBlocks.reinforced_stone, 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.cobblestone, 'B', Blocks.stone }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.asphalt), 8), new Object[] { "BGB", "GSG", "BGB", 'B', ModItems.canister_bitumen, 'G', Blocks.gravel, 'S', Blocks.sand }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_light), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.fence, 'B', Blocks.brick_block }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete_smooth), 8), new Object[] { "SGS", "GWG", "SGS", 'S', Blocks.sand, 'G', Blocks.gravel, 'W', Items.water_bucket }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete_smooth), 8), new Object[] { "GSG", "SWS", "GSG", 'S', Blocks.sand, 'G', Blocks.gravel, 'W', Items.water_bucket }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete), 4), new Object[] { "CC", "CC", 'C', ModBlocks.concrete_smooth }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_concrete), 4), new Object[] { " C ", "CBC", " C ", 'C', ModBlocks.concrete_smooth, 'B', Items.clay_ball }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_concrete), 4), new Object[] { " C ", "CBC", " C ", 'C', ModBlocks.concrete, 'B', Items.clay_ball }); @@ -770,8 +643,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModBlocks.meteor_brick_mossy, 8), new Object[] { "CCC", "CVC", "CCC", 'C', ModBlocks.meteor_brick, 'V', Blocks.vine }); GameRegistry.addRecipe(new ItemStack(ModBlocks.meteor_brick_cracked, 6), new Object[] { " C " , "C C", " C ", 'C', ModBlocks.meteor_brick }); GameRegistry.addRecipe(new ItemStack(ModBlocks.meteor_battery, 1), new Object[] { "MSM", "MWM", "MSM", 'M', ModBlocks.meteor_polished, 'S', ModBlocks.block_starmetal, 'W', ModItems.wire_schrabidium }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.cmb_brick), 4), new Object[] { "PPP", "PIP", "PPP", 'P', ModItems.plate_combine_steel, 'I', ModItems.ingot_combine_steel }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.cmb_brick_reinforced), 8), new Object[] { "TBT", "BCB", "TBT", 'T', ModBlocks.block_magnetized_tungsten, 'B', ModBlocks.brick_concrete, 'C', ModBlocks.cmb_brick }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_brick), 8), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', ModBlocks.brick_concrete }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_compound), 8), new Object[] { "FBF", "BFB", "FBF", 'F', ModItems.bolt_tungsten, 'B', ModBlocks.reinforced_brick }); @@ -796,9 +667,6 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_corner)), new Object[] { Item.getItemFromBlock(ModBlocks.steel_wall), Item.getItemFromBlock(ModBlocks.steel_wall) }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_roof), 2), new Object[] { "SSS", 'S', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_scaffold), 8), new Object[] { "SSS", " S ", "SSS", 'S', "ingotSteel" })); - - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.seal_frame, 2), new Object[] { "SSS", "WRW", "III", 'S', ModBlocks.steel_roof, 'W', ModItems.wire_aluminium, 'R', "dustRedstone", 'I', "ingotSteel" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.seal_controller, 1), new Object[] { "SSS", "RCR", "III", 'S', ModBlocks.steel_roof, 'C', ModItems.ingot_red_copper, 'R', "dustRedstone", 'I', "ingotSteel" })); reg2(); } @@ -809,41 +677,26 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_panzerschreck, 1), new Object[] { "SSS", " MW", 'S', ModItems.hull_small_steel, 'W', "plateCopper", 'M', ModItems.mechanism_launcher_1 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_karl, 1), new Object[] { "SSW", " MW", 'S', ModItems.hull_small_steel, 'W', "plateAdvanced", 'M', ModItems.mechanism_launcher_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_hk69, 1), new Object[] { "SSI", " MB", 'S', ModItems.hull_small_steel, 'I', "ingotIron", 'M', ModItems.mechanism_launcher_1, 'B', ModItems.bolt_tungsten })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_rpg_ammo, 8), new Object[] { "SI ", "ITI", " I ", 'S', "plateSteel", 'T', Item.getItemFromBlock(Blocks.tnt), 'I', "plateIron", 'M', ModItems.mechanism_launcher_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_stinger, 1), new Object[] { "SSW", "CMW", 'S', "plateSteel", 'W', "plateTitanium", 'C', ModItems.circuit_red_copper, 'M', ModItems.mechanism_launcher_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_stinger_ammo, 4), new Object[] { "SS ", "STI", " IR", 'S', "plateSteel", 'T', Item.getItemFromBlock(Blocks.tnt), 'I', "plateAluminum", 'R', "dustRedstone" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver, 1), new Object[] { "SSM", " RW", 'S', "plateSteel", 'W', "plankWood", 'R', ModItems.wire_aluminium, 'M', ModItems.mechanism_revolver_1 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_saturnite, 1), new Object[] { "SSM", " RW", 'S', "plateSaturnite", 'W', "plankWood", 'R', ModItems.wire_tungsten, 'M', ModItems.mechanism_revolver_2 })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_ammo, 16), new Object[] { "L", "S", "G", 'L', "plateLead", 'S', "plateSteel", 'G', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_iron, 1), new Object[] { "SSM", " RW", 'S', "plateIron", 'W', "plankWood", 'R', ModItems.wire_aluminium, 'M', ModItems.mechanism_revolver_1 })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_iron_ammo, 16), new Object[] { "L", "S", "G", 'L', "plateIron", 'S', "plateCopper", 'G', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_gold, 1), new Object[] { "SSM", " RW", 'S', "plateGold", 'W', "ingotGold", 'R', ModItems.wire_gold, 'M', ModItems.mechanism_revolver_1 })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_gold_ammo, 16), new Object[] { "L", "L", "S", 'L', ModItems.plate_gold, 'S', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead, 1), new Object[] { "SSM", " RW", 'S', "plateLead", 'W', "ingotTungsten", 'R', ModItems.wire_tungsten, 'M', ModItems.mechanism_revolver_2 })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", "G", 'L', "paneGlass", 'S', ModItems.ingot_u235, 'G', Items.gunpowder })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", "G", 'L', "paneGlass", 'S', ModItems.ingot_pu239, 'G', Items.gunpowder })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", "G", 'L', "paneGlass", 'S', ModItems.nuclear_waste, 'G', Items.gunpowder })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", "G", 'L', "paneGlass", 'S', ModItems.trinitite, 'G', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_schrabidium, 1), new Object[] { "SSM", " RW", 'S', ModBlocks.block_schrabidium, 'W', "ingotTungsten", 'R', ModItems.wire_schrabidium, 'M', ModItems.mechanism_special })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_deagle, 1), new Object[] { "PPM", " BI", 'P', "plateSteel", 'B', ModItems.bolt_tungsten, 'I', "ingotPolymer", 'M', ModItems.mechanism_rifle_1 })); - //GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_schrabidium_ammo, 16), new Object[] { "L", "N", "S", 'L', ModItems.plate_schrabidium, 'S', Items.gunpowder, 'N', Items.nether_star }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_cursed, 1), new Object[] { "TTM", "SRI", 'S', "plateSteel", 'I', "ingotSteel", 'R', ModItems.wire_red_copper, 'T', "plateTitanium", 'M', ModItems.mechanism_revolver_2 })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_cursed_ammo, 32), new Object[] { "L", "L", 'L', "plateSteel", 'S', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare, 1), new Object[] { "SEM", " RW", 'S', "plateSteel", 'W', "plankWood", 'R', ModItems.wire_aluminium, 'E', ModItems.powder_power, 'M', ModItems.mechanism_revolver_2 })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare_ammo, 16), new Object[] { "L", "S", "G", 'L', "plateDenseLead", 'S', "plateSteel", 'G', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare2, 1), new Object[] { "SSM", "RRW", 'S', "plateDenseLead", 'W', "ingotTungsten", 'R', ModItems.wire_gold, 'M', ModItems.mechanism_special })); - //GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_nightmare2_ammo, 6), new Object[] { "L", "S", "G", 'L', ModItems.powder_power, 'S', ModItems.plate_polymer, 'G', Items.gunpowder }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_fatman, 1), new Object[] { "SSI", "IIM", "WPH", 'S', "plateSteel", 'I', "ingotSteel", 'W', ModItems.wire_aluminium, 'H', ModItems.hull_small_steel, 'P', Item.getItemFromBlock(Blocks.piston), 'M', ModItems.mechanism_launcher_2 })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_fatman_ammo, 2), new Object[] { " S ", "SPS", "ITI", 'S', "plateSteel", 'P', ModItems.ingot_pu239, 'T', Item.getItemFromBlock(Blocks.tnt), 'I', "plateIron" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mirv, 1), new Object[] { "LLL", "WFW", "SSS", 'S', "plateSteel", 'L', "plateLead", 'W', ModItems.wire_gold, 'F', ModItems.gun_fatman })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_proto, 1), new Object[] { "LLL", "WFW", "SSS", 'S', ModItems.plate_polymer, 'L', "plateDesh", 'W', ModItems.wire_tungsten, 'F', ModItems.gun_fatman })); - //GameRegistry.addRecipe(new ItemStack(ModItems.gun_mirv_ammo, 1), new Object[] { "NNN", "NSN", "NNN", 'S', ModItems.hull_small_steel, 'N', ModItems.gun_fatman_ammo }); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_proto, 1), new Object[] { "LLL", "WFW", "SSS", 'S', ModItems.plate_polymer, 'L', ModItems.plate_desh, 'W', ModItems.wire_tungsten, 'F', ModItems.gun_fatman }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_bf, 1), new Object[] { "LLL", "WFW", "SSS", 'S', ModItems.plate_paa, 'L', "plateDenseLead", 'W', ModItems.wire_advanced_alloy, 'F', ModItems.gun_mirv })); GameRegistry.addRecipe(new ItemStack(ModItems.gun_bf_ammo, 1), new Object[] { "AEA", "SHS", "AEA", 'H', ModItems.hull_small_steel, 'A', ModItems.cell_antimatter, 'S', ModItems.cell_anti_schrabidium, 'E', ModItems.powder_power }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mp40, 1), new Object[] { "IIM", " SW", " S ", 'S', "plateSteel", 'I', "ingotSteel", 'W', "plankWood", 'M', ModItems.mechanism_rifle_2 })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mp40_ammo, 16), new Object[] { "L", "P", "G", 'P', "plateCopper", 'L', "plateLead", 'G', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uboinik, 1), new Object[] { "IIM", "SPW", 'P', "plateSteel", 'I', "ingotSteel", 'W', "plankWood", 'S', Items.stick, 'M', ModItems.mechanism_revolver_2 })); - //GameRegistry.addRecipe(new ItemStack(ModItems.gun_uboinik_ammo, 6), new Object[] { "P", "S", "G", 'P', ModItems.pellet_buckshot, 'S', ModItems.plate_polymer, 'G', Items.gunpowder }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_ks23, 1), new Object[] { "PPM", "SWL", 'P', "plateSteel", 'M', ModItems.mechanism_rifle_1, 'S', Items.stick, 'W', ModItems.wire_tungsten, 'L', "logWood" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456, 1), new Object[] { "PBB", "ACC", "PRY", 'P', "plateSteel", 'R', ModItems.redcoil_capacitor, 'A', ModItems.coil_advanced_alloy, 'B', ModItems.battery_generic, 'C', ModItems.coil_advanced_torus, 'Y', ModItems.mechanism_special })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456_ammo, 64), new Object[] { "SSS", "SRS", "SSS", 'S', "plateSteel", 'R', ModItems.rod_quad_uranium_fuel_depleted })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456_ammo, 32), new Object[] { " S ", "SRS", " S ", 'S', "plateSteel", 'R', ModItems.rod_dual_uranium_fuel_depleted })); @@ -852,23 +705,19 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456_ammo, 16), new Object[] { " S ", " R ", " S ", 'S', "plateSteel", 'R', "U238" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456_ammo, 16), new Object[] { "SRS", 'S', "plateSteel", 'R', "U238" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_osipr, 1), new Object[] { "CCT", "WWI", "MCC", 'C', ModItems.plate_combine_steel, 'T', "ingotTungsten", 'W', ModItems.wire_magnetized_tungsten, 'I', ModItems.mechanism_rifle_2, 'M', ModItems.coil_magnetized_tungsten })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_osipr_ammo, 16), new Object[] { "G", "R", "S", 'G', "dustGlowstone", 'R', "dustRedstone", 'S', "plateSteel" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_osipr_ammo, 16), new Object[] { "R", "G", "S", 'G', "dustGlowstone", 'R', "dustRedstone", 'S', "plateSteel" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_osipr_ammo2, 1), new Object[] { " C ", "PPP", " C ", 'C', ModItems.plate_combine_steel, 'P', ModItems.powder_power })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_immolator, 1), new Object[] { "WCC", "PMT", "WAA", 'W', ModItems.wire_gold, 'C', "plateCopper", 'P', "plateAdvanced", 'M', ModItems.mechanism_launcher_1, 'T', ModItems.tank_steel, 'A', "plateSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_immolator_ammo, 16), new Object[] { "SPS", "PCP", "SPS", 'S', "plateSteel", 'C', "dustCoal", 'P', ModItems.powder_fire })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_immolator_ammo, 16), new Object[] { " F ", "SFS", " F ", 'S', "plateSteel", 'F', ModItems.canister_fuel })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_immolator_ammo, 24), new Object[] { " F ", "SFS", " F ", 'S', "plateSteel", 'F', ModItems.canister_napalm })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_flamer, 1), new Object[] { "WPP", "SCT", "WMI", 'W', ModItems.wire_gold, 'P', ModItems.pipes_steel, 'S', ModItems.hull_small_steel, 'C', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'M', ModItems.mechanism_launcher_1, 'I', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_cryolator, 1), new Object[] { "SSS", "IWL", "LMI", 'S', "plateSteel", 'I', "plateIron", 'L', Items.leather, 'M', ModItems.mechanism_launcher_1, 'W', ModItems.wire_aluminium })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_cryolator_ammo, 16), new Object[] { "SPS", "PCP", "SPS", 'S', "plateSteel", 'C', "dustSalpeter", 'P', Items.snowball })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_cryolator_ammo, 16), new Object[] { " F ", "SFS", " F ", 'S', "plateSteel", 'F', ModItems.powder_ice })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_zomg, 1), new Object[] { "PRR", "CCS", "PXX", 'P', ModItems.plate_paa, 'R', "plateDenseLead", 'S', ModItems.singularity_counter_resonant, 'X', ModItems.crystal_xen, 'C', ModItems.coil_magnetized_tungsten})); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mp, 1), new Object[] { "EEE", "SSM", "III", 'E', ModItems.ingot_euphemium, 'S', "plateSteel", 'I', "ingotSteel", 'M', ModItems.mechanism_rifle_2 })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mp_ammo, 32), new Object[] { "G", "C", 'G', "plateGold", 'C', "plateCopper", 'S', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_emp, 1), new Object[] { "CPG", "CMF", "CPI", 'C', ModItems.coil_copper, 'P', "plateLead", 'G', ModItems.circuit_gold, 'M', ModItems.magnetron, 'I', "ingotTungsten", 'F', ModItems.mechanism_special })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_emp_ammo, 8), new Object[] { "IGI", "IPI", "IPI", 'G', "plateGold", 'I', "plateIron", 'P', ModItems.powder_power })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_jack, 1), new Object[] { "WW ", "TSD", " TT", 'W', "ingotWeidanium", 'T', ModItems.toothpicks, 'S', ModItems.gun_uboinik, 'D', ModItems.ducttape })); - //GameRegistry.addShapedRecipe(new ItemStack(ModItems.gun_jack_ammo, 3), new Object[] { "PP", "II", "GG", 'G', Items.gunpowder, 'P', ModItems.pellet_buckshot, 'I', ModItems.plate_polymer }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.gun_jack_ammo, 1), new Object[] { ModItems.ammo_12gauge, ModItems.ammo_12gauge, ModItems.ammo_12gauge, ModItems.ammo_12gauge }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_euthanasia, 1), new Object[] { "TDT", "AAS", " T ", 'A', "ingotAustralium", 'T', ModItems.toothpicks, 'S', ModItems.gun_mp40, 'D', ModItems.ducttape })); GameRegistry.addShapedRecipe(new ItemStack(ModItems.gun_euthanasia_ammo, 12), new Object[] { "P", "S", "N", 'P', ModItems.powder_poison, 'N', ModItems.niter, 'S', ModItems.syringe_metal_empty }); @@ -877,15 +726,12 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_skystinger, 1), new Object[] { "TTT", "AAS", " D ", 'A', "ingotUnobtainium", 'T', ModItems.toothpicks, 'S', ModItems.gun_stinger, 'D', ModItems.ducttape })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_hp, 1), new Object[] { "TDT", "ASA", " T ", 'A', "ingotReiium", 'T', ModItems.toothpicks, 'S', ModItems.gun_xvl1456, 'D', ModItems.ducttape })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_hp_ammo, 8), new Object[] { " R ", "BSK", " Y ", 'S', "plateSteel", 'K', new ItemStack(Items.dye, 1, 0), 'R', new ItemStack(Items.dye, 1, 1), 'B', new ItemStack(Items.dye, 1, 4), 'Y', new ItemStack(Items.dye, 1, 11) })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_defabricator, 1), new Object[] { " SS", "DDD", "TCB", 'S', "plateSteel", 'D', ModItems.plate_dalekanium, 'T', "plateTitanium", 'C', ModItems.circuit_gold, 'B', ModItems.battery_lithium })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_defabricator_ammo, 16), new Object[] { "PCP", "DDD", "PCP", 'P', "plateSteel", 'C', ModItems.coil_copper, 'D', "dustLithium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_lever_action, 1), new Object[] { "PPI", "SWD", 'P', "plateIron", 'I', ModItems.mechanism_rifle_1, 'S', Items.stick, 'D', "plankWood", 'W', ModItems.wire_aluminium })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_lever_action_dark, 1), new Object[] { "PPI", "SWD", 'P', "plateSteel", 'I', ModItems.mechanism_rifle_1, 'S', Items.stick, 'D', "plankWood", 'W', ModItems.wire_aluminium })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_lever_action_ammo, 6), new Object[] { "P", "S", "G", 'P', ModItems.pellet_buckshot, 'S', "plateCopper", 'G', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_bolt_action, 1), new Object[] { "PPI", "SWD", 'P', "plateSteel", 'I', ModItems.mechanism_rifle_1, 'S', Items.stick, 'D', "plankWood", 'W', ModItems.wire_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_bolt_action_green, 1), new Object[] { "PPI", "SWD", 'P', "plateIron", 'I', ModItems.mechanism_rifle_1, 'S', Items.stick, 'D', "plankWood", 'W', ModItems.wire_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_bolt_action_saturnite, 1), new Object[] { "PPI", "SWD", 'P', "plateSaturnite", 'I', ModItems.mechanism_rifle_1, 'S', Items.stick, 'D', "plankWood", 'W', ModItems.wire_tungsten })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_bolt_action_ammo, 2), new Object[] { "P", "S", "G", 'P', "nuggetLead", 'S', ModItems.plate_polymer, 'G', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_b92, 1), new Object[] { "SSS", " EP", 'P', "ingotPolymer", 'S', ModItems.ingot_starmetal, 'E', ModItems.powder_spark_mix })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_b92_ammo, 1), new Object[] { "PSP", "ESE", "PSP", 'P', "plateSteel", 'S', ModItems.ingot_starmetal, 'E', ModItems.powder_spark_mix })); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.weaponized_starblaster_cell, 1), new Object[] { new ItemStack(ModItems.fluid_tank_full, 1, FluidType.ACID.getID()), GunB92Cell.getFullCell(), ModItems.wire_copper }); @@ -893,7 +739,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uzi_silencer, 1), new Object[] { "P ", " P ", " U", 'P', "ingotPolymer", 'U', ModItems.gun_uzi })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uzi_saturnite, 1), new Object[] { "SMS", " PB", " P ", 'S', "ingotSaturnite", 'M', ModItems.mechanism_rifle_2, 'P', "plateSaturnite", 'B', ModItems.bolt_tungsten })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uzi_saturnite_silencer, 1), new Object[] { "P ", " P ", " U", 'P', "ingotPolymer", 'U', ModItems.gun_uzi_saturnite })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uzi_ammo, 16), new Object[] { "L", "P", "G", 'P', "plateIron", 'L', "plateSteel", 'G', Items.gunpowder })); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ammo_44, 1), new Object[] { ModItems.gun_revolver_nopip_ammo }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ammo_44_pip, 1), new Object[] { ModItems.gun_revolver_pip_ammo }); @@ -926,7 +771,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lacunae, 24), new Object[] { " I", "GC", " P", 'I', "ingotCopper", 'G', ModItems.cordite, 'C', ModItems.casing_9, 'P', ModItems.primer_9 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_nopip, 16), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_44, 'P', ModItems.primer_44 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_nopip, 16), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', ModItems.ballistite, 'C', ModItems.casing_44, 'P', ModItems.primer_44 })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_pip, 16), new Object[] { " I ", "GCM", " P ", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_44, 'P', ModItems.primer_44, 'M', ModItems.powder_magic })); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_12gauge, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.cordite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', ModItems.plate_polymer }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_12gauge, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', ModItems.plate_polymer }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_4gauge, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); @@ -1009,6 +853,11 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.ammo_grenade_nuclear, 2), new Object[] { " P ", "GIG", " P ", 'G', ModItems.ammo_grenade, 'I', ModItems.neutron_reflector, 'P', ModItems.nugget_pu239 }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_grenade_finned, 1), new Object[] { "G", "R", 'G', Items.feather, 'R', ModItems.ammo_grenade }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_fuel, 1), new Object[] { " P ", "BDB", " P ", 'P', "plateSteel", 'B', ModItems.bolt_tungsten, 'D', ModItems.canister_fuel })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_fuel_napalm, 1), new Object[] { " P ", "BDB", " P ", 'P', "plateSteel", 'B', ModItems.bolt_tungsten, 'D', ModItems.canister_napalm })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_fuel_phosphorus, 1), new Object[] { "CPC", "CDC", "CPC", 'C', "dustCoal", 'P', ModItems.ingot_phosphorus, 'D', ModItems.ammo_fuel })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_fuel_gas, 1), new Object[] { "PDP", "BDB", "PDP", 'P', "plateSteel", 'B', ModItems.bolt_tungsten, 'D', ModItems.pellet_gas })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stamp_357, 1), new Object[] { "RSR", "III", " C ", 'R', "dustRedstone", 'S', ModItems.stamp_iron_flat, 'I', ModItems.plate_polymer, 'C', ModItems.casing_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stamp_44, 1), new Object[] { "RSR", "III", " C ", 'R', "dustRedstone", 'S', ModItems.stamp_iron_flat, 'I', ModItems.plate_polymer, 'C', ModItems.casing_44 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stamp_9, 1), new Object[] { "RSR", "III", " C ", 'R', "dustRedstone", 'S', ModItems.stamp_iron_flat, 'I', ModItems.plate_polymer, 'C', ModItems.casing_9 })); @@ -1043,27 +892,15 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_generic, 4), new Object[] { "RS ", "ITI", " I ", 'I', "plateIron", 'R', ModItems.wire_red_copper, 'S', "plateSteel", 'T', Item.getItemFromBlock(Blocks.tnt) })); GameRegistry.addRecipe(new ItemStack(ModItems.grenade_strong, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_generic, 'S', Items.gunpowder }); 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", " P ", 'G', ModItems.grenade_generic, 'F', ModItems.grenade_frag, 'P', ModItems.powder_fire }); - //GameRegistry.addRecipe(new ItemStack(ModItems.grenade_shrapnel, 2), new Object[] { " G ", "PFP", " P ", 'G', ModItems.grenade_generic, 'P', ModItems.pellet_buckshot, 'F', ModItems.grenade_strong }); - //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 ShapedOreRecipe(new ItemStack(ModItems.grenade_flare, 2), new Object[] { " G ", "DGD", " D ", 'G', ModItems.grenade_generic, 'D', "dustGlowstone" })); - //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 ShapedOreRecipe(new ItemStack(ModItems.grenade_nuclear, 1), new Object[] {"RS ", "ITI", " I ", 'I', "plateIron", 'R', ModItems.wire_red_copper, 'S', "plateSteel", 'T', ModItems.gun_fatman_ammo })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_plasma, 1), new Object[] {"RS ", "ICI", "TID", 'I', "plateIron", 'R', ModItems.wire_red_copper, 'S', "plateSteel", 'C', ModItems.coil_advanced_torus, 'D', ModItems.cell_deuterium, 'T', ModItems.cell_tritium })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_tau, 1), new Object[] {"RS ", "ITI", "UIU", 'I', "plateLead", 'R', ModItems.wire_red_copper, 'S', "plateAdvanced", 'T', ModItems.coil_advanced_torus, 'U', ModItems.gun_xvl1456_ammo })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_zomg, 1), new Object[] {"RC ", "PXP", "NPN", 'P', ModItems.plate_paa, 'R', ModItems.wire_red_copper, 'C', "plateCMBSteel", 'X', ModItems.crystal_xen, 'N', ModItems.powder_power })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_aschrab, 1), new Object[] {"RS ", "ITI", " S ", 'I', "paneGlassColorless", 'R', ModItems.wire_red_copper, 'S', "plateSteel", 'T', ModItems.cell_anti_schrabidium })); GameRegistry.addRecipe(new ItemStack(ModItems.grenade_mk2, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_strong, 'S', Items.gunpowder }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { ModItems.canister_fuel, Items.flint }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { ModItems.canister_biofuel, Items.flint }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { ModItems.canister_petroil, Items.flint }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { ModItems.canister_kerosene, Items.flint }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_pulse, 4), new Object[] { "WPW", "WSW", "SMS", 'W', ModItems.wire_red_copper, 'P', "plateIron", 'S', "plateSteel", 'M', ModItems.magnetron })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.grenade_lemon, 1), new Object[] { ModItems.lemon, ModItems.grenade_strong })); - //GameRegistry.addRecipe(new ItemStack(ModItems.grenade_black_hole, 1), new Object[] { " C ", "PBP", "PCP", 'C', ModItems.coil_advanced_alloy, 'P', ModItems.ingot_polymer, 'B', ModItems.black_hole }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.gun_moist_nugget, 12), new Object[] { Items.bread, Items.wheat, Items.cooked_chicken, Items.egg }); GameRegistry.addRecipe(new ItemStack(ModItems.grenade_smart, 4), new Object[] { " A ", "ACA", " A ", 'A', ModItems.grenade_strong, 'C', ModItems.circuit_aluminium }); GameRegistry.addRecipe(new ItemStack(ModItems.grenade_mirv, 1), new Object[] { "GGG", "GCG", "GGG", 'G', ModItems.grenade_smart, 'C', ModItems.grenade_generic }); @@ -1155,17 +992,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.radaway_flush, 1), new Object[] { "S", "M", "W", 'S', ModItems.powder_iodine, 'M', ModBlocks.mush, 'W', ModItems.radaway_strong }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stealth_boy, 1), new Object[] { " B", "LI", "LC", 'B', Item.getItemFromBlock(Blocks.stone_button), 'L', Items.leather, 'I', "ingotSteel", 'C', ModItems.circuit_red_copper })); - - //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', new ItemStack(ModItems.ingot_euphemium, 1, 34), 'H', ModItems.hull_small_steel, 'R', ModItems.dysfunctional_reactor }); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_custom), 1), new Object[] { "ADD", "HHF", "CDD", 'A', ModItems.wire_gold, 'H', ModItems.hull_small_steel, 'C', ModItems.circuit_gold, 'F', ModItems.fins_small_steel, 'D', new ItemStack(Items.dye, 1, 8) }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.launch_pad), 1), new Object[] { "PPP", "ICI", "CBC", 'P', "plateSteel", 'I', "ingotSteel", 'C', ModItems.circuit_gold, 'B', Item.getItemFromBlock(ModBlocks.machine_battery) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.sat_dock, 1), new Object[] { "SSS", "PCP", 'S', "ingotSteel", 'P', "ingotPolymer", 'C', ModBlocks.crate_iron })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.book_guide), 1), new Object[] { "IBI", "LBL", "IBI", 'B', Items.book, 'I', new ItemStack(Items.dye, 1, 0), 'L', new ItemStack(Items.dye, 1, 4) }); @@ -1173,13 +1000,9 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.rail_booster), 6), new Object[] { "S S", "CIC", "SRS", 'S', "ingotSteel", 'I', "plateIron", 'R', "ingotRedstoneAlloy", 'C', ModItems.coil_copper })); 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.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_cluster, 8), new Object[] { "plateIron", Item.getItemFromBlock(Blocks.tnt), "plateSteel" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_fire, 4), new Object[] { Items.blaze_powder, "dustSulfur", "dustRedstone" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_ice, 4), new Object[] { Items.snowball, "dustNiter", "dustRedstone" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_poison, 4), new Object[] { Items.spider_eye, "dustRedstone", "gemQuartz" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_gas, 2), new Object[] { Items.water_bucket, "dustGlowstone", "plateSteel" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.magnetron, 2), new Object[] { "PWP", "ITI", "PWP", 'P', "plateAdvanced", 'I', "ingotAdvanced", 'W', ModItems.wire_tungsten, 'T', ModItems.coil_tungsten })); - //GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_buckshot, 2), new Object[] { "nuggetLead", "nuggetLead", "nuggetLead" })); GameRegistry.addRecipe(new ItemStack(ModItems.flame_pony, 1), new Object[] { " O ", "DPD", " O ", 'D', new ItemStack(Items.dye, 1, 11), 'O', new ItemStack(Items.dye, 1, 9), 'P', Items.paper }); GameRegistry.addRecipe(new ItemStack(ModItems.flame_conspiracy, 1), new Object[] { " S ", "STS", " S ", 'S', ModItems.canister_fuel, 'T', ModItems.ingot_steel }); @@ -1187,39 +1010,13 @@ public class CraftingManager { 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 ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.float_bomb), 1), new Object[] { "TGT", "TUT", "TGT", 'T', "plateTitanium", 'U', ModItems.levitation_unit, 'G', ModItems.circuit_gold })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.therm_endo), 1), new Object[] { "TGT", "TUT", "TGT", 'T', "plateTitanium", 'U', ModItems.thermo_unit_endo, 'G', ModItems.circuit_gold })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.therm_exo), 1), new Object[] { "TGT", "TUT", "TGT", 'T', "plateTitanium", 'U', ModItems.thermo_unit_exo, 'G', ModItems.circuit_gold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.det_cord), 8), new Object[] { "TNT", "NGN", "TNT", 'T', "plateIron", 'N', "dustNiter", 'G', Items.gunpowder })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.det_charge), 1), new Object[] { "PDP", "DTD", "PDP", 'P', "plateSteel", 'D', ModBlocks.det_cord, 'T', Blocks.tnt })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.det_nuke), 1), new Object[] { "PDP", "DCD", "PDP", 'P', "plateDesh", 'D', ModBlocks.det_charge, 'C', ModItems.man_core })); - ////GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.rejuvinator), 1), new Object[] { "TDT", "PCP", "TST", 'P', ModItems.pipes_steel, 'T', ModBlocks.factory_titanium_hull, 'D', "ingotDesh", 'S', "ingotSchrabidium", 'C', Items.clock })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.det_cord, 8), new Object[] { "TNT", "NGN", "TNT", 'T', "plateIron", 'N', "dustNiter", 'G', Items.gunpowder })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.det_charge, 1), new Object[] { "PDP", "DTD", "PDP", 'P', "plateSteel", 'D', ModBlocks.det_cord, 'T', Blocks.tnt })); + GameRegistry.addRecipe(new ItemStack(ModBlocks.det_nuke, 1), new Object[] { "PDP", "DCD", "PDP", 'P', ModItems.plate_desh, 'D', ModBlocks.det_charge, 'C', ModItems.man_core }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.emp_bomb), 1), new Object[] { "LML", "LCL", "LML", 'L', "plateLead", 'M', ModItems.magnetron, 'C', ModItems.circuit_gold })); - //GameRegistry.addRecipe(new ItemStack(ModItems.gadget_core, 1), new Object[] { "PPP", "PUP", "PPP", 'P', ModItems.nugget_pu239, 'U', ModItems.nugget_u238 }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gadget_explosive, 16), new Object[] { "ATP", "ATW", "ATP", 'P', "plateTitanium", 'A', "plateAluminum", 'T', Item.getItemFromBlock(Blocks.tnt), 'W', ModItems.wire_gold })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gadget_explosive8, 1), new Object[] { "EEE", "EPE", "EEE", 'E', ModItems.gadget_explosive, 'P', "plateAluminum" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gadget_wireing, 1), new Object[] { "WWW", "WSW", "WWW", 'W', ModItems.wire_gold, 'S', "plateTitanium" })); - - //GameRegistry.addRecipe(new ItemStack(ModItems.boy_bullet, 1), new Object[] { "##", '#', ModItems.nugget_u235 }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.boy_igniter, 1), new Object[] { " AA", "WWS", " AA", 'A', "plateAluminum", '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 ShapedOreRecipe(new ItemStack(ModItems.boy_shielding, 1), new Object[] { "## ", "# #", "## ", '#', "plateDenseLead" })); - //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 ShapedOreRecipe(new ItemStack(ModItems.man_explosive, 16), new Object[] { "UTP", "UTW", "UTP", 'P', "plateTitanium", 'U', ModItems.nugget_u238, 'T', Item.getItemFromBlock(Blocks.tnt), 'W', ModItems.wire_red_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.man_explosive8, 1), new Object[] { "EEE", "ESE", "EEE", 'E', ModItems.man_explosive, 'S', "plateSteel" })); - //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 ShapedOreRecipe(new ItemStack(ModItems.mike_cooling_unit, 1), new Object[] { "WSC", "WMC", "WAC", 'W', ModItems.coil_tungsten, 'C', ModItems.coil_copper, 'S', "plateSteel", 'M', ModItems.motor, 'A', ModItems.circuit_copper })); - - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.fleija_igniter, 1), new Object[] { " TT", "TSW", " TT", 'T', "plateTitanium", '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 ShapedOreRecipe(new ItemStack(ModItems.n2_charge, 1), new Object[] { " D ", "ERE", " D ", 'D', ModItems.ducttape, 'E', ModBlocks.det_charge, 'R', "blockRedstone" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.custom_tnt, 1), new Object[] { " C ", "TIT", "TIT", 'C', "plateCopper", 'I', "plateIron", 'T', Blocks.tnt })); @@ -1238,7 +1035,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_lithium), new Object[] { "A A", "PLP", "PSP", 'A', ModItems.wire_gold, 'P', "plateTitanium", 'S', "dustLithium", 'L', ModItems.powder_cobalt })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_schrabidium), new Object[] { " A ", "PNP", "PSP", 'A', ModItems.wire_schrabidium, 'P', "plateSchrabidium", 'S', "dustSchrabidium", 'N', ModItems.powder_neptunium })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_schrabidium), new Object[] { " A ", "PSP", "PNP", 'A', ModItems.wire_schrabidium, 'P', "plateSchrabidium", 'S', "dustSchrabidium", 'N', ModItems.powder_neptunium })); - GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark), new Object[] { " A ", "PSP", "PSP", 'A', ModItems.wire_magnetized_tungsten, 'P', "plateDineutronium", 'S', ModItems.powder_spark_mix })); + GameRegistry.addRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark), new Object[] { " A ", "PSP", "PSP", 'A', ModItems.wire_magnetized_tungsten, 'P', ModItems.plate_dineutronium, 'S', ModItems.powder_spark_mix }); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getFullBattery(ModItems.energy_core), new Object[] { "PCW", "TRD", "PCW", 'P', ModItems.plate_advanced_alloy, 'C', ModItems.coil_advanced_alloy, 'W', ModItems.wire_advanced_alloy, 'R', ModItems.cell_tritium, 'D', ModItems.cell_deuterium, 'T', "ingotTungsten" })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getFullBattery(ModItems.energy_core), new Object[] { "PCW", "TDR", "PCW", 'P', ModItems.plate_advanced_alloy, 'C', ModItems.coil_advanced_alloy, 'W', ModItems.wire_advanced_alloy, 'R', ModItems.cell_tritium, 'D', ModItems.cell_deuterium, 'T', "ingotTungsten" })); @@ -1254,9 +1051,9 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_advanced_cell_12), new Object[] { "WPW", "BBB", "WPW", 'W', ModItems.wire_red_copper, 'P', "plateCopper", 'B', ItemBattery.getEmptyBattery(ModItems.battery_advanced_cell_4) })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_lithium_cell_6), new Object[] { "WPW", "BWB", "WPW", 'W', ModItems.wire_gold, 'P', "plateTitanium", 'B', ItemBattery.getEmptyBattery(ModItems.battery_lithium_cell_3) })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_schrabidium_cell_4), new Object[] { "WPW", "BWB", "WPW", 'W', ModItems.wire_schrabidium, 'P', "plateSchrabidium", 'B', ItemBattery.getEmptyBattery(ModItems.battery_schrabidium_cell_2) })); - GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_6), new Object[] { "BBW", "BBP", "BBW", 'W', ModItems.wire_magnetized_tungsten, 'P', "plateDineutronium", 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark) })); - GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_25), new Object[] { " WW", "PCC", "BCC", 'W', ModItems.wire_magnetized_tungsten, 'P', "plateDineutronium", 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark), 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_6) })); - GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100), new Object[] { "W W", "BPB", "BPB", 'W', ModItems.wire_magnetized_tungsten, 'P', "plateDineutronium", 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_25) })); + GameRegistry.addRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_6), new Object[] { "BBW", "BBP", "BBW", 'W', ModItems.wire_magnetized_tungsten, 'P', ModItems.plate_dineutronium, 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark) }); + GameRegistry.addRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_25), new Object[] { " WW", "PCC", "BCC", 'W', ModItems.wire_magnetized_tungsten, 'P', ModItems.plate_dineutronium, 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark), 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_6) }); + GameRegistry.addRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100), new Object[] { "W W", "BPB", "BPB", 'W', ModItems.wire_magnetized_tungsten, 'P', ModItems.plate_dineutronium, 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_25) }); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_1000), new Object[] { "CCC", "CSC", "CCC", 'S', ModItems.singularity_spark, 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100) })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_2500), new Object[] { "CVC", "PSP", "CVC", 'S', ModItems.singularity_spark, 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100), 'V', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_1000), 'P', ModItems.plate_dineutronium })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_10000), new Object[] { "PVP", "VSV", "PVP", 'S', ModItems.singularity_spark, 'V', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_2500), 'P', ModItems.plate_dineutronium })); @@ -1331,6 +1128,10 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.security_plate, 1), new Object[] { "KWK", "IKI", "WKW", 'K', ModItems.plate_kevlar, 'I', ModItems.ingot_polymer, 'W', new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) }); GameRegistry.addRecipe(new ItemStack(ModItems.security_legs, 1), new Object[] { "IWI", "K K", "W W", 'K', ModItems.plate_kevlar, 'I', ModItems.ingot_polymer, 'W', new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.security_boots, 1), new Object[] { "P P", "I I", 'P', "plateSteel", 'I', ModItems.plate_polymer })); + GameRegistry.addRecipe(new ItemStack(ModItems.cobalt_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.ingot_cobalt }); + GameRegistry.addRecipe(new ItemStack(ModItems.cobalt_plate, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.ingot_cobalt }); + GameRegistry.addRecipe(new ItemStack(ModItems.cobalt_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.ingot_cobalt }); + GameRegistry.addRecipe(new ItemStack(ModItems.cobalt_boots, 1), new Object[] { "E E", "E E", 'E', ModItems.ingot_cobalt }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.jetpack_boost, 1), new Object[] { "PTP", "SLS", "W W", 'P', "plateSteel", 'T', ModItems.tank_steel, 'S', ModItems.pipes_steel, 'L', Items.leather, 'W', ModItems.thruster_small })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.jetpack_fly, 1), new Object[] { "PTP", "SLS", "W W", 'P', "plateSteel", 'T', ModItems.cap_aluminium, 'S', ModItems.pipes_steel, 'L', ModItems.jetpack_boost, 'W', ModItems.thruster_small })); @@ -1343,11 +1144,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wiring_red_copper, 1), new Object[] { "PPP", "PIP", "PPP", 'P', "plateSteel", 'I', "ingotSteel" })); - //ItemStack multitool = new ItemStack(ModItems.multitool_dig, 1); - //multitool.addEnchantment(Enchantment.looting, 3); - //multitool.addEnchantment(Enchantment.fortune, 3); - //GameRegistry.addShapedRecipe((multitool), new Object[] { "R#V", "W+U", "A@D", 'R', ModItems.rod_reiium, 'W', ModItems.rod_weidanium, 'A', ModItems.rod_australium, 'V', ModItems.rod_verticium, 'U', ModItems.rod_unobtainium, 'D', ModItems.rod_daffergon, '#', ModBlocks.steel_scaffold, '+', ModItems.circuit_gold, '@', ModItems.ducttape }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.tank_waste, 1), new Object[] { "PTP", "PTP", "PTP", 'T', ModItems.tank_steel, 'P', "plateSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_helmet, 1), new Object[] { "EEE", "EIE", "FPF", 'E', ModItems.hazmat_cloth, 'I', "paneGlass", 'P', "plateSteel", 'F', ModItems.filter_coal })); @@ -1374,10 +1170,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.paa_legs, 1), new Object[] { "EEE", "N N", "E E", 'E', ModItems.plate_paa, 'N', "plateDenseLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.paa_boots, 1), new Object[] { "E E", "N N", 'E', ModItems.plate_paa, 'N', "plateDenseLead" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.australium_iii, 1), new Object[] { "WIW", "PAP", " W ", 'W', ModItems.wire_copper, 'I', "ingotSteel", 'A', ModItems.ingot_australium, 'P', "plateSteel" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.australium_iv, 1), new Object[] { "WCW", "PAP", "SWS", 'W', ModItems.wire_red_copper, 'C', ModItems.circuit_red_copper, 'P', "plateTitanium", 'A', ModItems.rod_australium, 'S', ModItems.syringe_metal_empty })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.australium_v, 1), new Object[] { "SCS", "PAP", "ESE", 'S', ModItems.syringe_metal_empty, 'C', ModItems.circuit_gold, 'P', "plateAdvanced", 'A', ModItems.nugget_australium, 'E', ModItems.powder_power })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.goggles, 1), new Object[] { "P P", "GPG", 'G', "paneGlass", 'P', "plateSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gas_mask, 1), new Object[] { "PPP", "GPG", " F ", 'G', "paneGlass", 'P', "plateSteel", 'F', ModItems.gas_mask_filter })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gas_mask_m65, 1), new Object[] { "PPP", "GPG", " F ", 'G', "paneGlass", 'P', ModItems.plate_polymer, 'F', ModItems.gas_mask_filter })); @@ -1389,13 +1181,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.cape_radiation, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 11), 'D', new ItemStack(Items.dye, 1, 11), 'I', ModItems.nuclear_waste }); GameRegistry.addRecipe(new ItemStack(ModItems.cape_gasmask, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 4), 'D', new ItemStack(Items.dye, 1, 0), 'I', ModItems.gas_mask }); GameRegistry.addRecipe(new ItemStack(ModItems.cape_schrabidium, 1), new Object[] { "W W", "WIW", "WDW", 'W', ModItems.ingot_schrabidium, 'D', new ItemStack(Items.dye, 1, 0), 'I', ModItems.circuit_red_copper }); - //GameRegistry.addRecipe(new ItemStack(ModItems.cape_hbm, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 15), 'D', ModItems.ingot_neptunium, 'I', ModItems.ingot_euphemium }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_dafnik, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 1), 'D', new ItemStack(Items.dye, 1, 0), 'I', "ingotSteel" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_lpkukin, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 13), 'D', new ItemStack(Items.dye, 1, 8), 'I', "plateSteel" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_codered_, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 6), 'D', new ItemStack(Items.dye, 1, 5), 'I', "ingotAustralium" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_vertice, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 13), 'D', new ItemStack(Items.dye, 1, 8), 'I', "ingotVerticium" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_ayy, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 15), 'D', new ItemStack(Items.dye, 1, 8), 'I', "ingotReiium" })); - //GameRegistry.addRecipe(new ItemStack(ModItems.cape_nostalgia, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 15), 'D', new ItemStack(Items.dye, 1, 6), 'I', ModItems.flame_pony }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.igniter, 1), new Object[] { " W", "SC", "CE", 'S', "plateSteel", 'W', ModItems.wire_schrabidium, 'C', ModItems.circuit_schrabidium, 'E', ModItems.ingot_euphemium })); GameRegistry.addRecipe(new ItemStack(ModItems.euphemium_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.plate_euphemium }); @@ -1423,28 +1208,17 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.pin, 1), new Object[] { "W ", " W", " W", 'W', ModItems.wire_copper }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.padlock_rusty, 1), new Object[] { "I", "B", "I", 'I', "ingotIron", 'B', ModItems.bolt_tungsten })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.padlock, 1), new Object[] { " P ", "PBP", "PPP", 'P', "plateSteel", 'B', ModItems.bolt_tungsten })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.padlock_reinforced, 1), new Object[] { " P ", "PBP", "PDP", 'P', "plateAdvanced", 'D', "plateDesh", 'B', ModItems.bolt_dura_steel })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.padlock_reinforced, 1), new Object[] { " P ", "PBP", "PDP", 'P', "plateAdvanced", 'D', ModItems.plate_desh, 'B', ModItems.bolt_dura_steel })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.padlock_unbreakable, 1), new Object[] { " P ", "PBP", "PDP", 'P', "plateSaturnite", 'D', "gemDiamond", 'B', ModItems.bolt_dura_steel })); - //GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_hammer, 1), new Object[] { "BBB", "BBB", " S ", 'B', Item.getItemFromBlock(ModBlocks.block_schrabidium), 'S', Items.stick }); GameRegistry.addRecipe(new ItemStack(ModItems.euphemium_stopper, 1), new Object[] { "I", "S", "S", 'I', ModItems.ingot_euphemium, 'S', Items.stick }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.matchstick, 16), new Object[] { "I", "S", 'I', "sulfur", 'S', Items.stick })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.matchstick, 16), new Object[] { "I", "S", 'I', "dustSulfur", 'S', Items.stick })); + GameRegistry.addRecipe(new ItemStack(ModItems.matchstick, 24), new Object[] { "I", "S", 'I', ModItems.powder_fire, 'S', Items.stick }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.crowbar, 1), new Object[] { "II", " I", " I", 'I', "ingotSteel" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_power, 5), new Object[] { "dustRedstone", "dustGlowstone", "dustDiamond", "dustNeptunium", "dustMagnetizedTungsten" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ballistite, 3), new Object[] { Items.gunpowder, "dustSalpeter", Items.sugar })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.coal, 1), new Object[] { "#", '#', "dustCoal" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.quartz, 1), new Object[] { "#", '#', "dustQuartz" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.quartz, 1), new Object[] { "#", '#', "dustNetherQuartz" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.dye, 1, 4), new Object[] { "#", '#', "dustLapis" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.diamond, 1), new Object[] { "#", '#', "dustDiamond" })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.emerald, 1), new Object[] { "#", '#', "dustEmerald" })); - - //if(MainRegistry.enableNITAN) { - //GameRegistry.addShapelessRecipe(new ItemStack(ModItems.canister_NITAN, 1), new Object[] { ModItems.canister_empty, ModItems.canister_napalm, ModItems.powder_neptunium, ModItems.powder_iodine, ModItems.powder_thorium, ModItems.powder_astatine, ModItems.powder_neodymium, ModItems.powder_caesium }); - //GameRegistry.addShapelessRecipe(new ItemStack(ModItems.canister_NITAN, 1), new Object[] { ModItems.canister_empty, ModItems.canister_napalm, ModItems.powder_strontium, ModItems.powder_cobalt, ModItems.powder_bromine, ModItems.powder_tennessine, ModItems.powder_niobium, ModItems.powder_cerium }); - //} GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_nitan_mix, 6), new Object[] { "dustNeptunium", "dustIodine", "dustThorium", "dustAstatine", "dustNeodymium", "dustCaesium" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_nitan_mix, 6), new Object[] { "dustStrontium", "dustCobalt", "dustBromine", "dustTennessine", "dustNiobium", "dustCerium" })); @@ -1469,7 +1243,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_dura_steel, 2), new Object[] { "dustSteel", ModItems.powder_cobalt })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_dura_steel, 4), new Object[] { "dustIron", "dustCoal", "dustTungsten", "dustTungsten" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_dura_steel, 4), new Object[] { "dustIron", "dustCoal", ModItems.powder_cobalt, ModItems.powder_cobalt })); - //GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_polymer, 2), new Object[] { "dustCoal", "dustSalpeter" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.saw, 1), new Object[] { "IIL", "PP ", 'P', "plateSteel", 'I', "ingotSteel", 'L', Items.leather })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bat, 1), new Object[] { "P", "P", "S", 'S', "plateSteel", 'P', "plankWood" })); @@ -1480,8 +1253,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bottle_opener, 1), new Object[] { "S", "P", 'S', "plateSteel", 'P', "plankWood" })); - //GameRegistry.addRecipe(new ItemStack(ModItems.chopper, 1), new Object[] { "BBB", "HTF", "GWW", 'B', ModItems.chopper_blades, 'H', ModItems.chopper_head, 'T', ModItems.chopper_torso, 'F', ModItems.chopper_tail, 'G', ModItems.chopper_gun, 'W', ModItems.chopper_wing }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.polaroid, 1), new Object[] { " C ", "RPY", " B ", 'B', "dustLapis", 'C', "dustCoal", 'R', "dustAdvanced", 'Y', "dustGold", 'P', Items.paper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ullapool_caber, 1), new Object[] { "ITI", " S ", " S ", 'I', "plateIron", 'T', Blocks.tnt, 'S', Items.stick })); @@ -1494,16 +1265,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.fluid_duct, 8), new Object[] { "SAS", " ", "SAS", 'S', "plateSteel", 'A', "plateAluminum" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_assembler, 1), new Object[] { "WWW", "MCM", "ISI", 'W', "paneGlass", 'M', ModItems.motor, 'C', ModItems.circuit_aluminium, 'I', "blockCopper", 'S', "blockSteel" })); - //GameRegistry.addRecipe(new ItemStack(ModBlocks.machine_chemplant, 1), new Object[] { "HTT", "HPP", "DCD", 'H', ModItems.hull_big_steel, 'T', ModItems.tank_steel, 'P', Blocks.piston, 'D', ModBlocks.fluid_duct, 'C', ModItems.circuit_red_copper }); - //GameRegistry.addRecipe(new ItemStack(ModBlocks.machine_fluidtank, 1), new Object[] { "HHH", "HHH", "D D", 'H', ModItems.hull_big_steel, 'D', ModBlocks.fluid_duct }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_pumpjack, 1), new Object[] { "BBB", "PSM", "PST", 'B', "blockSteel", 'P', ModItems.pipes_steel, 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'T', ModItems.tank_steel })); - //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_drill), 1), new Object[] { "MPM", "GPG", "GDG", 'P', ModItems.ingot_dura_steel, 'M', ModItems.motor, 'G', ModBlocks.steel_scaffold, 'D', ModItems.drill_titanium }); GameRegistry.addRecipe(new ItemStack(ModItems.template_folder, 1), new Object[] { "LPL", "BPB", "LPL", 'P', Items.paper, 'L', new ItemStack(Items.dye, 1, 4), 'B', new ItemStack(Items.dye, 1, 15) }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.turret_light, 1), new Object[] { "PPR", " I ", "BCB", 'P', "plateSteel", 'R', Items.redstone, 'I', "ingotSteel", 'B', "blockSteel", 'C', ModItems.circuit_aluminium })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.turret_heavy, 1), new Object[] { "IIR", " I ", "BCB", 'P', "plateSteel", 'R', Items.redstone, 'I', "ingotSteel", 'B', "blockSteel", 'C', ModItems.circuit_aluminium })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.turret_rocket, 1), new Object[] { "BBR", " I ", "BCB", 'P', "plateSteel", 'R', Items.redstone, 'I', "ingotSteel", 'B', "blockSteel", 'C', ModItems.circuit_aluminium })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.turret_flamer, 1), new Object[] { "NIR", " I ", "BCB", 'P', "plateSteel", 'R', Items.redstone, 'I', "ingotSteel", 'B', "blockSteel", 'C', ModItems.circuit_aluminium, 'N', ModItems.pipes_steel })); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.turret_tau, 1), new Object[] { "ADR", " I ", "BCB", 'P', "plateSteel", 'R', Items.redstone, 'I', "ingotSteel", 'B', "blockSteel", 'C', ModItems.circuit_aluminium, 'A', ModItems.coil_advanced_alloy, 'D', ModItems.coil_advanced_torus })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_control, 1), new Object[] { "R12", "PPI", " I", 'R', Items.redstone, '1', ModItems.circuit_aluminium, '2', ModItems.circuit_red_copper, 'P', "plateSteel", 'I', "ingotSteel" })); GameRegistry.addRecipe(new ItemStack(ModItems.pellet_antimatter, 1), new Object[] { "###", "###", "###", '#', ModItems.cell_antimatter }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.fluid_tank_empty, 8), new Object[] { "121", "1 1", "121", '1', "plateAluminum", '2', "plateIron" })); @@ -1519,18 +1281,15 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.dynosphere_euphemium), new Object[] { "RPR", "PBP", "RPR", 'R', ModItems.powder_nitan_mix, 'P', "ingotEuphemium", 'B', ModItems.dynosphere_schrabidium_charged })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.dynosphere_dineutronium), new Object[] { "RPR", "PBP", "RPR", 'R', ModItems.powder_spark_mix, 'P', "ingotDineutronium", 'B', ModItems.dynosphere_euphemium_charged })); - //Temporary Crappy Recipes + //not so Temporary Crappy Recipes GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_pip, 1), new Object[] { " G ", "SSP", " TI", 'G', "paneGlass", 'S', "plateSteel", 'P', ModItems.mechanism_revolver_2, 'T', ModItems.wire_tungsten, 'I', "ingotPolymer" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nopip, 1), new Object[] { "SSP", " TI", 'S', "plateSteel", 'P', ModItems.mechanism_revolver_2, 'T', ModItems.wire_tungsten, 'I', "ingotPolymer" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_blackjack, 1), new Object[] { "SSP", " TI", 'S', "plateSteel", 'P', ModItems.mechanism_revolver_2, 'T', ModItems.wire_tungsten, 'I', "plankWood" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_silver, 1), new Object[] { "SSP", " TI", 'S', "plateAluminum", 'P', ModItems.mechanism_revolver_2, 'T', ModItems.wire_tungsten, 'I', "plankWood" })); GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_red, 1), new Object[] { "R ", " B", 'R', ModItems.key_red, 'B', ModItems.gun_revolver_blackjack }); - //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_pip_ammo, 1), new Object[] { "S", "G", "C", 'S', "plateSteel", 'G', Items.gunpowder, 'C', "plateCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_dineutronium, 4), new Object[] { "PIP", "IDI", "PIP", 'P', ModItems.powder_spark_mix, 'I', "ingotDineutronium", 'D', "ingotDesh" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_desh, 4), new Object[] { "PIP", "IDI", "PIP", 'P', ModItems.powder_polymer, 'I', "ingotDesh", 'D', "ingotDuraSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.piston_selenium, 1), new Object[] { "SSS", "STS", " D ", 'S', "plateSteel", 'T', "ingotTungsten", 'D', ModItems.bolt_dura_steel })); - //GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.meteor_remote), new Object[] { "nuggetSchrabidium", ModItems.fragment_meteorite, ModItems.crate_caller })); - //GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.crate_caller), new Object[] { "nuggetSchrabidium", ModItems.crowbar, ModItems.detonator })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.catalyst_clay), new Object[] { "dustIron", Items.clay_ball })); GameRegistry.addRecipe(new ItemStack(ModItems.singularity_spark, 1), new Object[] { "XAX", "BCB", "XAX", 'X', ModItems.plate_dineutronium, 'A', ModItems.singularity_counter_resonant, 'B', ModItems.singularity_super_heated, 'C', ModItems.black_hole }); GameRegistry.addRecipe(new ItemStack(ModItems.singularity_spark, 1), new Object[] { "XBX", "ACA", "XBX", 'X', ModItems.plate_dineutronium, 'A', ModItems.singularity_counter_resonant, 'B', ModItems.singularity_super_heated, 'C', ModItems.black_hole }); @@ -1564,11 +1323,11 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.geiger), new Object[] { ModItems.geiger_counter }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.sat_interface), new Object[] { "ISI", "PCP", "PAP", 'I', "ingotSteel", 'S', ModItems.ingot_starmetal, 'P', ModItems.plate_polymer, 'C', ModItems.sat_chip, 'A', ModItems.circuit_gold })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.sat_coord), new Object[] { "SII", "SCA", "SPP", 'I', "ingotSteel", 'S', ModItems.ingot_starmetal, 'P', ModItems.plate_polymer, 'C', ModItems.sat_chip, 'A', ModItems.circuit_red_copper })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { "MDM", "LCL", "LWL", 'M', "ingotMagnetizedTungsten", 'D', "plateDesh", 'L', "plateLead", 'C', ModItems.circuit_gold, 'W', ModItems.coil_magnetized_tungsten })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_spp_top), new Object[] { "LWL", "LCL", "MDM", 'M', "ingotMagnetizedTungsten", 'D', "plateDesh", 'L', "plateLead", 'C', ModItems.circuit_gold, 'W', ModItems.coil_magnetized_tungsten })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { "MDM", "LCL", "LWL", 'M', "ingotMagnetizedTungsten", 'D', ModItems.plate_desh, 'L', "plateLead", 'C', ModItems.circuit_gold, 'W', ModItems.coil_magnetized_tungsten })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_spp_top), new Object[] { "LWL", "LCL", "MDM", 'M', "ingotMagnetizedTungsten", 'D', ModItems.plate_desh, 'L', "plateLead", 'C', ModItems.circuit_gold, 'W', ModItems.coil_magnetized_tungsten })); GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { ModBlocks.machine_spp_top }); GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.machine_spp_top), new Object[] { ModBlocks.machine_spp_bottom }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_b93), new Object[] { "PCE", "SEB", "PCE", 'P', "plateDineutronium", 'C', ModItems.weaponized_starblaster_cell, 'E', ModItems.component_emitter, 'B', ModItems.gun_b92, 'S', ModItems.singularity_spark })); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_b93), new Object[] { "PCE", "SEB", "PCE", 'P', ModItems.plate_dineutronium, 'C', ModItems.weaponized_starblaster_cell, 'E', ModItems.component_emitter, 'B', ModItems.gun_b92, 'S', ModItems.singularity_spark }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_transformer), new Object[] { "SDS", "MCM", "MCM", 'S', "ingotIron", 'D', "ingotRedstoneAlloy", 'M',ModItems.coil_advanced_alloy, 'C', ModItems.circuit_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_transformer_20), new Object[] { "SDS", "MCM", "MCM", 'S', "ingotIron", 'D', "ingotRedstoneAlloy", 'M', ModItems.coil_copper, 'C', ModItems.circuit_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_transformer_dnt), new Object[] { "SDS", "MCM", "MCM", 'S', ModItems.ingot_starmetal, 'D', "ingotDesh", 'M', ModBlocks.fwatz_conductor, 'C', ModItems.circuit_targeting_tier6 })); @@ -1600,7 +1359,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.analyzer, 1), new Object[] { " S ", "SGS", " S ", 'S', "plateSteel", 'G', "paneGlassColorless" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.custom_fall, 1), new Object[] { "IIP", "CHW", "IIP", 'I', ModItems.plate_polymer, 'P', "plateSaturnite", 'C', ModItems.circuit_red_copper, 'H', ModItems.hull_small_steel, 'W', ModItems.coil_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.reactor_sensor, 1), new Object[] { "WPW", "CMC", "PPP", 'W', ModItems.wire_tungsten, 'P', "plateLead", 'C', ModItems.circuit_targeting_tier3, 'M', ModItems.magnetron })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_controller, 1), new Object[] { "PGP", "ICI", "PRP", 'P', "plateDesh", 'G', "paneGlass", 'I', "ingotPolymer", 'R', "blockRedstone", 'C', ModItems.circuit_targeting_tier4 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_controller, 1), new Object[] { "PGP", "ICI", "PRP", 'P', ModItems.plate_desh, 'G', "paneGlass", 'I', "ingotPolymer", 'R', "blockRedstone", 'C', ModItems.circuit_targeting_tier4 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_minigun, 1), new Object[] { "PIB", "PCM", "PIB", 'P', ModItems.pipes_steel, 'B', "blockSteel", 'I', "ingotPolymer", 'C', ModItems.mechanism_rifle_2, 'M', ModItems.motor })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_avenger, 1), new Object[] { "PIB", "PCM", "PIB", 'P', ModItems.pipes_steel, 'B', "blockBeryllium", 'I', "ingotDesh", 'C', ModItems.mechanism_rifle_2, 'M', ModItems.motor })); GameRegistry.addRecipe(new ItemStack(ModItems.gun_lacunae, 1), new Object[] { "TIT", "ILI", "PRP", 'T', ModItems.syringe_taint, 'I', ModItems.ingot_starmetal, 'L', ModItems.gun_minigun, 'P', ModItems.pellet_rtg, 'R', ModBlocks.machine_rtg_grey }); @@ -1660,20 +1419,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.struct_launcher, 1), new Object[] { "PPP", "SDS", "CCC", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold, 'D', ModItems.pipes_steel, 'C', ModBlocks.concrete_smooth })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.struct_launcher, 1), new Object[] { "PPP", "SDS", "CCC", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold, 'D', ModItems.pipes_steel, 'C', ModBlocks.concrete })); GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_scaffold, 1), new Object[] { "SSS", "DCD", "SSS", 'S', ModBlocks.steel_scaffold, 'D', ModBlocks.fluid_duct, 'C', ModBlocks.red_cable }); - - /*GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_10_kerosene, 1), new Object[] { "PSM", "TPT", "T T", 'P', ModItems.pipes_steel, 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'T', "ingotTungsten" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_10_solid, 1), new Object[] { "PSM", "DPD", "T T", 'P', ModItems.pipes_steel, 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'T', "ingotSteel", 'D', "plateTitanium" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_10_xenon, 1), new Object[] { "PSM", "DPD", "T T", 'P', ModItems.pipes_steel, 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'T', "ingotSteel", 'D', ModItems.arc_electrode })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_kerosene_dual, 1), new Object[] { "SPS", "IPI", "T T", 'S', ModBlocks.steel_scaffold, 'P', ModItems.pipes_steel, 'I', "ingotSteel", 'T', ModItems.mp_thruster_10_kerosene })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_kerosene_triple, 1), new Object[] { "SPS", "IPI", "TTT", 'S', ModBlocks.steel_scaffold, 'P', ModItems.pipes_steel, 'I', "ingotSteel", 'T', ModItems.mp_thruster_10_kerosene })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_kerosene, 1), new Object[] { "SMS", "IPI", "B B", 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'I', "ingotTungsten", 'P', ModItems.pipes_steel, 'B', "blockTungsten" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_solid, 1), new Object[] { "SMS", "IPI", "B B", 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'I', "plateTitanium", 'P', ModItems.pipes_steel, 'B', "blockSteel" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_solid_hexdecuple, 1), new Object[] { "SMS", "PBP", "BPB", 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'P', ModItems.pipes_steel, 'B', "blockSteel" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_hydrogen, 1), new Object[] { "SMS", "IPI", "B B", 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'I', "ingotTungsten", 'P', ModItems.tank_steel, 'B', "blockTungsten" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_hydrogen_dual, 1), new Object[] { "SPS", "IDI", "T T", 'S', ModBlocks.steel_scaffold, 'P', ModItems.pipes_steel, 'D', ModItems.tank_steel, 'I', "ingotSteel", 'T', ModItems.mp_thruster_10_kerosene })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_balefire_short, 1), new Object[] { "SMS", "PTP", "I I", 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'P', ModItems.board_copper, 'T', ModItems.tank_steel, 'I', "ingotTungsten" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_balefire, 1), new Object[] { "SMS", "PTP", "I I", 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'P', ModItems.board_copper, 'T', ModBlocks.reactor_element, 'I', "ingotTungsten" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_balefire_large, 1), new Object[] { "SMS", "PTP", "I I", 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'P', "blockDesh", 'T', ModBlocks.reactor_element, 'I', ModBlocks.brick_compound }));*/ GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_stability_10_flat, 1), new Object[] { "PSP", "P P", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_stability_10_cruise, 1), new Object[] { "ASA", " S ", "PSP", 'A', "plateTitanium", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold })); @@ -1681,31 +1426,6 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_stability_15_flat, 1), new Object[] { "ASA", "PSP", 'A', "plateAluminum", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_stability_15_thin, 1), new Object[] { "A A", "PSP", "PSP", 'A', "plateAluminum", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold })); - /*GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_kerosene, 1), new Object[] { "STS", "ATA", "STS", 'S', "plateSteel", 'T', ModItems.tank_steel, 'A', "plateTitanium" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_solid, 1), new Object[] { "STS", "ATA", "STS", 'S', "plateAluminum", 'T', ModItems.tank_steel, 'A', "plateCopper" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_xenon, 1), new Object[] { "STS", "ATA", "STS", 'S', "plateSteel", 'T', ModItems.tank_steel, 'A', "plateAdvanced" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_long_kerosene, 1), new Object[] { "F ", " F", 'F', ModItems.mp_fuselage_10_kerosene })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_long_solid, 1), new Object[] { "F ", " F", 'F', ModItems.mp_fuselage_10_solid })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_15_kerosene, 1), new Object[] { "P ", " LF", " FS", 'P', "plateSteel", 'L', ModItems.mp_fuselage_10_long_kerosene, 'F', ModItems.mp_fuselage_10_kerosene, 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_15_solid, 1), new Object[] { "P ", " LF", " FS", 'P', "plateAluminum", 'L', ModItems.mp_fuselage_10_long_solid, 'F', ModItems.mp_fuselage_10_solid, 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_15_hydrogen, 1), new Object[] { "PP ", "PLF", " FS", 'P', "plateTitanium", 'L', ModItems.mp_fuselage_10_long_kerosene, 'F', ModItems.mp_fuselage_10_kerosene, 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_15_balefire, 1), new Object[] { "PP ", "PLF", " FS", 'P', ModItems.plate_saturnite, 'L', ModItems.mp_fuselage_10_long_solid, 'F', ModItems.mp_fuselage_10_solid, 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_15_kerosene, 1), new Object[] { "SP ", "PFP", " PL", 'S', ModBlocks.steel_scaffold, 'P', "plateSteel", 'F', ModItems.mp_fuselage_10_long_kerosene, 'L', ModItems.mp_fuselage_10_15_kerosene })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_15_solid, 1), new Object[] { "SP ", "PFP", " PL", 'S', ModBlocks.steel_scaffold, 'P', "plateAluminum", 'F', ModItems.mp_fuselage_10_long_solid, 'L', ModItems.mp_fuselage_10_15_solid })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_15_hydrogen, 1), new Object[] { "SP ", "PFP", " PL", 'S', ModBlocks.steel_scaffold, 'P', "plateTitanium", 'F', ModItems.mp_fuselage_10_long_kerosene, 'L', ModItems.mp_fuselage_10_15_hydrogen })); - GameRegistry.addRecipe(new ItemStack(ModItems.mp_fuselage_15_balefire, 1), new Object[] { "SP ", "PFP", " PL", 'S', ModBlocks.steel_scaffold, 'P', ModItems.plate_saturnite, 'F', ModItems.mp_fuselage_10_long_solid, 'L', ModItems.mp_fuselage_10_15_balefire });*/ - - /*GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_warhead_10_he, 1), new Object[] { " P ", "PTP", "TST", 'P', "plateSteel", 'T', Blocks.tnt, 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_warhead_10_incendiary, 1), new Object[] { "PIP", "ITI", "TST", 'P', "plateTitanium", 'T', Blocks.tnt, 'S', ModBlocks.steel_scaffold, 'I', ModItems.powder_fire })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_warhead_10_buster, 1), new Object[] { "PPP", "DCD", "DSD", 'P', "plateTitanium", 'D', ModBlocks.det_cord, 'C', ModBlocks.det_charge, 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_warhead_10_nuclear, 1), new Object[] { " U ", "PTP", "PSP", 'U', "Pu239", 'P', "plateLead", 'T', Blocks.tnt, 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_warhead_10_nuclear_large, 1), new Object[] { "PUP", "TUT", "PSP", 'U', "Pu239", 'P', "plateLead", 'T', ModBlocks.det_charge, 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_warhead_10_taint, 1), new Object[] { "AEA", "PBP", "ASA", 'A', "plateAluminum", 'E', ModItems.powder_magic, 'P', "plateSteel", 'B', ModItems.bucket_mud, 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_warhead_15_he, 1), new Object[] { "PTP", "CWC", "STS", 'P', "plateSteel", 'T', Blocks.tnt, 'C', ModBlocks.det_charge, 'W', ModItems.mp_warhead_10_he, 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_warhead_15_incendiary, 1), new Object[] { "PTP", "CWC", "STS", 'P', "plateTitanium", 'T', ModItems.powder_fire, 'C', ModBlocks.det_charge, 'W', ModItems.mp_warhead_10_incendiary, 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_warhead_15_nuclear, 1), new Object[] { "PUP", "CUC", "SUS", 'P', ModItems.plate_saturnite, 'U', "Pu239", 'C', ModBlocks.det_charge, 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ItemStack(ModItems.mp_warhead_15_n2, 1), new Object[] { "PCP", "CUC", "SCS", 'P', ModItems.plate_saturnite, 'U', ModItems.mp_warhead_15_he, 'C', ModItems.n2_charge, 'S', ModBlocks.steel_scaffold });*/ - GameRegistry.addRecipe(new ItemStack(ModItems.mp_thruster_15_balefire_large_rad, 1), new Object[] { "CCC", "CTC", "CCC", 'C', ModItems.board_copper, 'T', ModItems.mp_thruster_15_balefire_large }); GameRegistry.addRecipe(new ItemStack(ModItems.mp_fuselage_10_kerosene_insulation, 1), new Object[] { "CCC", "CTC", "CCC", 'C', ModItems.plate_polymer, 'T', ModItems.mp_fuselage_10_kerosene }); GameRegistry.addRecipe(new ItemStack(ModItems.mp_fuselage_10_long_kerosene_insulation, 1), new Object[] { "CCC", "CTC", "CCC", 'C', ModItems.plate_polymer, 'T', ModItems.mp_fuselage_10_long_kerosene }); @@ -1768,6 +1488,10 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.barrel_steel, 1), new Object[] { "IPI", "I I", "IPI", 'I', "plateSteel", 'P', "ingotSteel" })); GameRegistry.addRecipe(new ItemStack(ModBlocks.barrel_antimatter, 1), new Object[] { "IPI", "IPI", "IPI", 'I', ModItems.plate_saturnite, 'P', ModItems.coil_advanced_torus }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.tesla, 1), new Object[] { "CCC", " I ", "PTP", 'C', ModItems.coil_copper, 'I', "ingotIron", 'P', "ingotPolymer", 'T', ModBlocks.machine_transformer })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.cladding_paint, 1), new Object[] { "dustLead", Items.clay_ball, Items.glass_bottle })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cladding_rubber, 1), new Object[] { "RCR", "CDC", "RCR", 'R', ModItems.plate_polymer, 'C', "dustCoal", 'D', ModItems.ducttape })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cladding_lead, 1), new Object[] { "DPD", "PRP", "DPD", 'R', ModItems.cladding_rubber, 'P', "plateLead", 'D', ModItems.ducttape })); + GameRegistry.addRecipe(new ItemStack(ModItems.cladding_desh, 1), new Object[] { "DPD", "PRP", "DPD", 'R', ModItems.cladding_lead, 'P', ModItems.plate_desh, 'D', ModItems.ducttape }); } @@ -1841,7 +1565,6 @@ public class CraftingManager { GameRegistry.addSmelting(ModItems.combine_scrap, new ItemStack(ModItems.ingot_combine_steel), 1.0F); GameRegistry.addSmelting(ModItems.tank_waste, new ItemStack(ModItems.tank_waste), 0.0F); - //GameRegistry.addSmelting(ModItems.canister_smear, new ItemStack(ModItems.canister_reoil), 1.0F); GameRegistry.addSmelting(Items.bone, new ItemStack(Items.slime_ball, 3), 0.0F); GameRegistry.addSmelting(new ItemStack(Items.dye, 1, 15), new ItemStack(Items.slime_ball, 1), 0.0F); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 9a4b8c7ae..b8de4872e 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -94,7 +94,7 @@ public class MainRegistry public static ToolMaterial enumToolMaterialTitanium = EnumHelper.addToolMaterial("TITANIUM", 3, 750, 9.0F, 2.5F, 15); public static ToolMaterial enumToolMaterialAlloy= EnumHelper.addToolMaterial("ALLOY", 3, 2000, 15.0F, 5.0F, 5); public static ToolMaterial enumToolMaterialCmb = EnumHelper.addToolMaterial("CMB", 3, 8500, 40.0F, 55F, 100); - public static ToolMaterial enumToolMaterialElec = EnumHelper.addToolMaterial("ELEC", 3, 4700, 30.0F, 12.0F, 2); + public static ToolMaterial enumToolMaterialElec = EnumHelper.addToolMaterial("ELEC", 3, 0, 30.0F, 12.0F, 2); public static ToolMaterial enumToolMaterialDesh = EnumHelper.addToolMaterial("DESH", 2, 0, 7.5F, 2.0F, 10); public static ToolMaterial enumToolMaterialSaw = EnumHelper.addToolMaterial("SAW", 2, 750, 2.0F, 3.5F, 25); @@ -1177,10 +1177,7 @@ public class MainRegistry OreDictionary.registerOre("plateAdvanced", ModItems.plate_advanced_alloy); OreDictionary.registerOre("plateSchrabidium", ModItems.plate_schrabidium); OreDictionary.registerOre("plateCMBSteel", ModItems.plate_combine_steel); - OreDictionary.registerOre("plateDesh", ModItems.plate_desh); OreDictionary.registerOre("plateSaturnite", ModItems.plate_saturnite); - OreDictionary.registerOre("plateEuphemium", ModItems.plate_euphemium); - OreDictionary.registerOre("plateDineutronium", ModItems.plate_dineutronium); OreDictionary.registerOre("dustIron", ModItems.powder_iron); OreDictionary.registerOre("dustGold", ModItems.powder_gold); OreDictionary.registerOre("dustUranium", ModItems.powder_uranium); @@ -1411,8 +1408,7 @@ public class MainRegistry FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_antimatter), new ItemStack(ModItems.cell_empty), FluidType.AMAT, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_anti_schrabidium), new ItemStack(ModItems.cell_empty), FluidType.ASCHRAB, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_sas3), new ItemStack(ModItems.cell_empty), FluidType.SAS3, 1000)); - - //FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModBlocks.ore_oil), new ItemStack(ModBlocks.ore_oil_empty), FluidType.OIL, 250)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.bottle_mercury), new ItemStack(Items.glass_bottle), FluidType.MERCURY, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.tank_waste, 1, 1), new ItemStack(ModItems.tank_waste, 1, 0), FluidType.WATZ, 8000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.tank_waste, 1, 2), new ItemStack(ModItems.tank_waste, 1, 1), FluidType.WATZ, 8000)); @@ -1477,6 +1473,11 @@ public class MainRegistry HazmatRegistry.instance.registerHazmat(ModItems.titanium_plate, 0.12F); HazmatRegistry.instance.registerHazmat(ModItems.titanium_legs, 0.1F); HazmatRegistry.instance.registerHazmat(ModItems.titanium_boots, 0.03F); + + HazmatRegistry.instance.registerHazmat(ModItems.cobalt_helmet, 0.1F); + HazmatRegistry.instance.registerHazmat(ModItems.cobalt_plate, 0.2F); + HazmatRegistry.instance.registerHazmat(ModItems.cobalt_legs, 0.15F); + HazmatRegistry.instance.registerHazmat(ModItems.cobalt_boots, 0.05F); HazmatRegistry.instance.registerHazmat(Items.iron_helmet, 0.04F); HazmatRegistry.instance.registerHazmat(Items.iron_chestplate, 0.08F); diff --git a/com/hbm/main/ModEventHandler.java b/com/hbm/main/ModEventHandler.java index 7c8938d35..69f2ba076 100644 --- a/com/hbm/main/ModEventHandler.java +++ b/com/hbm/main/ModEventHandler.java @@ -11,14 +11,14 @@ import com.hbm.entity.missile.EntityMissileBaseAdvanced; import com.hbm.entity.mob.EntityNuclearCreeper; import com.hbm.entity.projectile.EntityBurningFOEQ; import com.hbm.entity.projectile.EntityMeteor; +import com.hbm.handler.ArmorUtil; import com.hbm.items.ModItems; -import com.hbm.items.gear.ArmorFSB; +import com.hbm.items.armor.ArmorFSB; import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; import com.hbm.lib.RefStrings; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.RadSurveyPacket; -import com.hbm.potion.HbmPotion; import com.hbm.saveddata.AuxSavedData; import com.hbm.saveddata.RadiationSavedData; @@ -201,8 +201,10 @@ public class ModEventHandler for(Object o : event.world.playerEntities) { - EntityPlayer player = (EntityPlayer)o; - PacketDispatcher.wrapper.sendTo(new RadSurveyPacket(player.getEntityData().getFloat("hfr_radiation")), (EntityPlayerMP) player); + if(o instanceof EntityPlayerMP) { + EntityPlayerMP player = (EntityPlayerMP)o; + PacketDispatcher.wrapper.sendTo(new RadSurveyPacket(player.getEntityData().getFloat("hfr_radiation")), player); + } } if(event.world.getTotalWorldTime() % 20 == 0) { @@ -227,18 +229,13 @@ public class ModEventHandler rad = MainRegistry.hellRad; if(rad > 0) { - //eData.increaseRad(entity, rad / 2); - - if(!entity.isPotionActive(HbmPotion.mutation)) - Library.applyRadData(entity, rad / 2); + Library.applyRadData(entity, rad / 2); } if(entity.worldObj.isRaining() && MainRegistry.cont > 0 && AuxSavedData.getThunder(entity.worldObj) > 0 && entity.worldObj.canBlockSeeTheSky(MathHelper.floor_double(entity.posX), MathHelper.floor_double(entity.posY), MathHelper.floor_double(entity.posZ))) { - if(!entity.isPotionActive(HbmPotion.mutation)) { - Library.applyRadData(entity, MainRegistry.cont * 0.005F); - } + Library.applyRadData(entity, MainRegistry.cont * 0.005F); } } @@ -293,6 +290,11 @@ public class ModEventHandler if(entity instanceof EntityPlayer) ((EntityPlayer)entity).triggerAchievement(MainRegistry.achRadDeath); } + + //.attackEntityFrom ensures the recentlyHit var is set to enable drops. + //if the attack is canceled, then nothing will drop. + //that's what you get for trying to cheat death + entity.setHealth(0); } else if(eRad >= 800) { if(event.world.rand.nextInt(300) == 0) @@ -360,7 +362,7 @@ public class ModEventHandler EntityLivingBase e = event.entityLiving; - if(e instanceof EntityPlayer && Library.checkArmor((EntityPlayer)e, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots)) { + if(e instanceof EntityPlayer && ArmorUtil.checkArmor((EntityPlayer)e, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots)) { e.worldObj.playSoundAtEntity(e, "random.break", 5F, 1.0F + e.getRNG().nextFloat() * 0.5F); event.setCanceled(true); } @@ -617,7 +619,7 @@ public class ModEventHandler EntityPlayerMP player = event.player; String message = event.message; - if(!player.getUniqueID().toString().equals(Library.Dr_Nostalgia) && message.startsWith("!")) { + if(player.getUniqueID().toString().equals(Library.Dr_Nostalgia) && message.startsWith("!")) { String m = message.substring(1, message.length()).toLowerCase(); @@ -642,6 +644,10 @@ public class ModEventHandler player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_kit_2, 16)); } + if("pew".equals(m)) { + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_b92).setStackDisplayName("Meme Machine")); + } + if("tom".equals(m)) { player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.soyuz_launcher)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_satlinker)); diff --git a/com/hbm/main/ModEventHandlerClient.java b/com/hbm/main/ModEventHandlerClient.java index c0dab6ad1..4dc5ed752 100644 --- a/com/hbm/main/ModEventHandlerClient.java +++ b/com/hbm/main/ModEventHandlerClient.java @@ -13,6 +13,7 @@ import com.hbm.interfaces.Spaghetti; import com.hbm.items.ModItems; import com.hbm.items.weapon.ItemGunBase; import com.hbm.lib.Library; +import com.hbm.lib.RefStrings; import com.hbm.packet.GunButtonPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.render.util.RenderAccessoryUtility; @@ -34,11 +35,13 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.MouseEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; import net.minecraftforge.client.event.RenderPlayerEvent; +import net.minecraftforge.client.event.TextureStitchEvent; import net.minecraftforge.client.event.sound.PlaySoundEvent17; import net.minecraftforge.event.entity.player.ItemTooltipEvent; @@ -213,4 +216,13 @@ public class ModEventHandlerClient { if(rad > 0) list.add(EnumChatFormatting.YELLOW + "Radiation resistance: " + rad); } + + public static IIcon particleBase; + + @SubscribeEvent + public void onTextureStitch(TextureStitchEvent.Pre event) { + + if(event.map.getTextureType() == 0) + particleBase = event.map.registerIcon(RefStrings.MODID + ":particle/particle_base"); + } } diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index 75b530945..2267dbbaf 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -298,6 +298,7 @@ public class ResourceManager { public static final IModelCustom deagle = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/deagle.obj")); public static final IModelCustom shotty = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/supershotty.obj")); public static final IModelCustom ks23 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/ks23.obj")); + public static final IModelCustom flamer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/flamer.obj")); ////Texture Items @@ -311,6 +312,7 @@ public class ResourceManager { public static final ResourceLocation hk69_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/hk69.png"); public static final ResourceLocation deagle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/deagle.png"); public static final ResourceLocation ks23_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ks23.png"); + public static final ResourceLocation flamer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flamer.png"); diff --git a/com/hbm/packet/AuxButtonPacket.java b/com/hbm/packet/AuxButtonPacket.java index a324a5e78..9cd50de24 100644 --- a/com/hbm/packet/AuxButtonPacket.java +++ b/com/hbm/packet/AuxButtonPacket.java @@ -7,6 +7,7 @@ import com.hbm.tileentity.machine.TileEntityBarrel; import com.hbm.tileentity.machine.TileEntityCoreEmitter; import com.hbm.tileentity.machine.TileEntityCoreStabilizer; import com.hbm.tileentity.machine.TileEntityForceField; +import com.hbm.tileentity.machine.TileEntityMachineBattery; import com.hbm.tileentity.machine.TileEntityMachineMissileAssembly; import com.hbm.tileentity.machine.TileEntityMachineReactorLarge; import com.hbm.tileentity.machine.TileEntityMachineReactorSmall; @@ -235,6 +236,20 @@ public class AuxButtonPacket implements IMessage { barrel.markDirty(); } + if (te instanceof TileEntityMachineBattery) { + TileEntityMachineBattery bat = (TileEntityMachineBattery)te; + + if(m.id == 0) { + bat.redLow = (short) ((bat.redLow + 1) % 4); + bat.markDirty(); + } + + if(m.id == 1) { + bat.redHigh = (short) ((bat.redHigh + 1) % 4); + bat.markDirty(); + } + } + if (te instanceof TileEntitySoyuzLauncher) { TileEntitySoyuzLauncher launcher = (TileEntitySoyuzLauncher)te; diff --git a/com/hbm/packet/ItemFolderPacket.java b/com/hbm/packet/ItemFolderPacket.java index 0de223706..d8154e900 100644 --- a/com/hbm/packet/ItemFolderPacket.java +++ b/com/hbm/packet/ItemFolderPacket.java @@ -2,12 +2,12 @@ package com.hbm.packet; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.items.ModItems; -import com.hbm.items.tool.ItemAssemblyTemplate; -import com.hbm.items.tool.ItemAssemblyTemplate.EnumAssemblyTemplate; -import com.hbm.items.tool.ItemCassette; -import com.hbm.items.tool.ItemChemistryTemplate; -import com.hbm.items.tool.ItemChemistryTemplate.EnumChemistryTemplate; -import com.hbm.items.tool.ItemFluidIdentifier; +import com.hbm.items.machine.ItemAssemblyTemplate; +import com.hbm.items.machine.ItemCassette; +import com.hbm.items.machine.ItemChemistryTemplate; +import com.hbm.items.machine.ItemFluidIdentifier; +import com.hbm.items.machine.ItemAssemblyTemplate.EnumAssemblyTemplate; +import com.hbm.items.machine.ItemChemistryTemplate.EnumChemistryTemplate; import com.hbm.main.MainRegistry; import cpw.mods.fml.common.network.simpleimpl.IMessage; diff --git a/com/hbm/packet/TESirenPacket.java b/com/hbm/packet/TESirenPacket.java index 65fd0a658..bdd3d0ea0 100644 --- a/com/hbm/packet/TESirenPacket.java +++ b/com/hbm/packet/TESirenPacket.java @@ -1,7 +1,7 @@ package com.hbm.packet; -import com.hbm.items.tool.ItemCassette.SoundType; -import com.hbm.items.tool.ItemCassette.TrackType; +import com.hbm.items.machine.ItemCassette.SoundType; +import com.hbm.items.machine.ItemCassette.TrackType; import com.hbm.sound.SoundLoopSiren; import com.hbm.tileentity.machine.TileEntityMachineSiren; import cpw.mods.fml.common.network.simpleimpl.IMessage; diff --git a/com/hbm/particle/ParticleRocketFlame.java b/com/hbm/particle/ParticleRocketFlame.java index d613dac2e..9ef58f9db 100644 --- a/com/hbm/particle/ParticleRocketFlame.java +++ b/com/hbm/particle/ParticleRocketFlame.java @@ -2,30 +2,25 @@ package com.hbm.particle; import java.util.Random; -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; +import com.hbm.main.ModEventHandlerClient; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; @SideOnly(Side.CLIENT) public class ParticleRocketFlame extends EntityFX { - private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/particle/particle_base.png"); private TextureManager theRenderEngine; private int age; private int maxAge; public ParticleRocketFlame(TextureManager p_i1213_1_, World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_) { super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_); + particleIcon = ModEventHandlerClient.particleBase; theRenderEngine = p_i1213_1_; maxAge = 300 + rand.nextInt(50); } @@ -49,54 +44,39 @@ public class ParticleRocketFlame extends EntityFX { } public int getFXLayer() { - return 3; - } - + return 1; + } + public void renderParticle(Tessellator p_70539_1_, float p_70539_2_, float p_70539_3_, float p_70539_4_, float p_70539_5_, float p_70539_6_, float p_70539_7_) { - - this.theRenderEngine.bindTexture(texture); - - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDepthMask(false); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - RenderHelper.disableStandardItemLighting(); - - Random urandom = new Random(this.getEntityId()); - - for(int i = 0; i < 10; i++) { - - p_70539_1_.startDrawingQuads(); - - float add = urandom.nextFloat() * 0.3F; - float dark = 1 - Math.min(((float)(age) / (float)(maxAge * 0.25F)), 1); - - this.particleRed = 1 * dark + add; - this.particleGreen = 0.6F * dark + add; - this.particleBlue = 0 + add; - - this.particleAlpha = (float) Math.pow(1 - Math.min(((float)(age) / (float)(maxAge)), 1), 0.5); - - p_70539_1_.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha * 0.75F); - p_70539_1_.setNormal(0.0F, 1.0F, 0.0F); - p_70539_1_.setBrightness(240); - - float spread = (float) Math.pow(((float)(age) / (float)maxAge) * 4F, 1.5) + 1F; - - float scale = urandom.nextFloat() * 0.5F + 0.1F + ((float)(age) / (float)maxAge) * 2F; - float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double)p_70539_2_ - interpPosX) + (urandom.nextGaussian() - 1D) * 0.2F * spread); - float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double)p_70539_2_ - interpPosY) + (urandom.nextGaussian() - 1D) * 0.5F * spread); - float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double)p_70539_2_ - interpPosZ) + (urandom.nextGaussian() - 1D) * 0.2F * spread); - - p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale - p_70539_7_ * scale), 1, 1); - p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale + p_70539_7_ * scale), 1, 0); - p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale + p_70539_7_ * scale), 0, 0); - p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale - p_70539_7_ * scale), 0, 1); - p_70539_1_.draw(); - } - - GL11.glPolygonOffset(0.0F, 0.0F); - GL11.glEnable(GL11.GL_LIGHTING); - } + + Random urandom = new Random(this.getEntityId()); + + for(int i = 0; i < 10; i++) { + + float add = urandom.nextFloat() * 0.3F; + float dark = 1 - Math.min(((float)(age) / (float)(maxAge * 0.25F)), 1); + + this.particleRed = 1 * dark + add; + this.particleGreen = 0.6F * dark + add; + this.particleBlue = 0 + add; + + this.particleAlpha = (float) Math.pow(1 - Math.min(((float)(age) / (float)(maxAge)), 1), 0.5); + + p_70539_1_.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha * 0.75F); + p_70539_1_.setNormal(0.0F, 1.0F, 0.0F); + p_70539_1_.setBrightness(240); + + float spread = (float) Math.pow(((float)(age) / (float)maxAge) * 4F, 1.5) + 1F; + + float scale = urandom.nextFloat() * 0.5F + 0.1F + ((float)(age) / (float)maxAge) * 2F; + float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double)p_70539_2_ - interpPosX) + (urandom.nextGaussian() - 1D) * 0.2F * spread); + float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double)p_70539_2_ - interpPosY) + (urandom.nextGaussian() - 1D) * 0.5F * spread); + float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double)p_70539_2_ - interpPosZ) + (urandom.nextGaussian() - 1D) * 0.2F * spread); + + p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale - p_70539_7_ * scale), particleIcon.getMaxU(), particleIcon.getMaxV()); + p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale + p_70539_7_ * scale), particleIcon.getMaxU(), particleIcon.getMinV()); + p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale + p_70539_7_ * scale), particleIcon.getMinU(), particleIcon.getMinV()); + p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale - p_70539_7_ * scale), particleIcon.getMinU(), particleIcon.getMaxV()); + } + } } diff --git a/com/hbm/render/entity/projectile/RenderBullet.java b/com/hbm/render/entity/projectile/RenderBullet.java index fe61503b8..cb892f751 100644 --- a/com/hbm/render/entity/projectile/RenderBullet.java +++ b/com/hbm/render/entity/projectile/RenderBullet.java @@ -58,6 +58,7 @@ public class RenderBullet extends Render { int trail = bullet.getDataWatcher().getWatchableObjectByte(17); switch(style) { + case BulletConfiguration.STYLE_NONE: break; case BulletConfiguration.STYLE_NORMAL: renderBullet(trail); break; case BulletConfiguration.STYLE_BOLT: renderDart(trail); break; case BulletConfiguration.STYLE_FLECHETTE: renderFlechette(); break; diff --git a/com/hbm/render/item/ItemRenderEMPRay.java b/com/hbm/render/item/ItemRenderEMPRay.java index eedb01b9d..1622bffc9 100644 --- a/com/hbm/render/item/ItemRenderEMPRay.java +++ b/com/hbm/render/item/ItemRenderEMPRay.java @@ -7,8 +7,6 @@ import com.hbm.render.model.ModelEMPRay; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.IItemRenderer; @@ -39,11 +37,9 @@ public class ItemRenderEMPRay implements IItemRenderer { @Override public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + float f = 0; - - if((Entity)data[1] instanceof EntityPlayer) - //f = ((EntityPlayer)data[1]).getItemInUseCount() > 0 && ((Entity)data[1]).isSneaking() ? 0.05F : 0; - f = (((EntityPlayer)data[1]).getItemInUse() != null &&((EntityPlayer)data[1]).getItemInUse().getItemUseAction() == EnumAction.bow) ? 0.15F : 0; + switch(type) { case EQUIPPED_FIRST_PERSON: GL11.glPushMatrix(); @@ -51,11 +47,10 @@ public class ItemRenderEMPRay implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelEMPRay.png")); GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); GL11.glScalef(0.5F, 0.5F, 0.5F); GL11.glScalef(0.5F, 0.5F, 0.5F); - //GL11.glTranslatef(-0.4F, -0.1F, 0.1F); GL11.glTranslatef(-0.8F, -0.2F, 0.0F); + GL11.glRotatef(-15.0F, 0.0F, 0.0F, 1.0F); swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); GL11.glPopMatrix(); break; diff --git a/com/hbm/render/item/ItemRenderWeaponObj.java b/com/hbm/render/item/ItemRenderWeaponObj.java index 627456e88..5296d07fa 100644 --- a/com/hbm/render/item/ItemRenderWeaponObj.java +++ b/com/hbm/render/item/ItemRenderWeaponObj.java @@ -21,7 +21,7 @@ public class ItemRenderWeaponObj implements IItemRenderer { case ENTITY: return true; case INVENTORY: - return item.getItem() == ModItems.gun_ks23 || item.getItem() == ModItems.gun_hk69; + return item.getItem() == ModItems.gun_ks23 || item.getItem() == ModItems.gun_hk69 || item.getItem() == ModItems.gun_flamer; default: return false; } } @@ -51,6 +51,9 @@ public class ItemRenderWeaponObj implements IItemRenderer { if(item.getItem() == ModItems.gun_ks23) Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ks23_tex); + + if(item.getItem() == ModItems.gun_flamer) + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flamer_tex); switch(type) { @@ -106,6 +109,18 @@ public class ItemRenderWeaponObj implements IItemRenderer { GL11.glTranslatef(0.51F, 0.2F, 0.3F); } } + + if(item.getItem() == ModItems.gun_flamer) { + GL11.glTranslatef(1.0F, 0.0F, -0.15F); + GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-25F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F); + GL11.glScaled(0.5, 0.5, 0.5); + + if(player.isSneaking()) { + GL11.glTranslatef(0.75F, 0.2F, 0.3F); + } + } break; @@ -138,6 +153,13 @@ public class ItemRenderWeaponObj implements IItemRenderer { GL11.glTranslatef(0.4F, 0.2F, 1.2F); GL11.glScaled(1.25, 1.25, 1.25); } + + if(item.getItem() == ModItems.gun_flamer) { + GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F); + GL11.glRotatef(10F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(0.4F, -0.25F, 0.2F); + GL11.glScaled(0.35, 0.35, 0.35); + } break; @@ -164,6 +186,12 @@ public class ItemRenderWeaponObj implements IItemRenderer { GL11.glScaled(0.75, 0.75, 0.75); } + if(item.getItem() == ModItems.gun_flamer) { + GL11.glTranslatef(-0.25F, 0.2F, 0.0F); + GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); + GL11.glScaled(0.25, 0.25, 0.25); + } + break; case INVENTORY: @@ -186,6 +214,14 @@ public class ItemRenderWeaponObj implements IItemRenderer { GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F); } + if(item.getItem() == ModItems.gun_flamer) { + GL11.glScaled(2.0, 2.0, -2.0); + GL11.glTranslatef(4.0F, 5.0F, 0.0F); + GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F); + } + break; default: break; @@ -214,6 +250,12 @@ public class ItemRenderWeaponObj implements IItemRenderer { ResourceManager.ks23.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); } + + if(item.getItem() == ModItems.gun_flamer) { + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.flamer.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); diff --git a/com/hbm/sound/SoundLoopSiren.java b/com/hbm/sound/SoundLoopSiren.java index fc612299d..b86076678 100644 --- a/com/hbm/sound/SoundLoopSiren.java +++ b/com/hbm/sound/SoundLoopSiren.java @@ -3,7 +3,7 @@ package com.hbm.sound; import java.util.ArrayList; import java.util.List; -import com.hbm.items.tool.ItemCassette.SoundType; +import com.hbm.items.machine.ItemCassette.SoundType; import com.hbm.tileentity.machine.TileEntityMachineSiren; import net.minecraft.client.Minecraft; diff --git a/com/hbm/tileentity/machine/TileEntityAMSBase.java b/com/hbm/tileentity/machine/TileEntityAMSBase.java index c75fb8aae..fc684bb23 100644 --- a/com/hbm/tileentity/machine/TileEntityAMSBase.java +++ b/com/hbm/tileentity/machine/TileEntityAMSBase.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.entity.effect.EntityCloudFleijaRainbow; import com.hbm.entity.logic.EntityNukeExplosionMK4; +import com.hbm.handler.ArmorUtil; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.IFluidAcceptor; @@ -12,9 +13,9 @@ import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.ISource; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemCatalyst; +import com.hbm.items.machine.ItemSatChip; import com.hbm.items.special.ItemAMSCore; -import com.hbm.items.special.ItemCatalyst; -import com.hbm.items.tool.ItemSatChip; import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; import com.hbm.packet.AuxElectricityPacket; @@ -424,7 +425,7 @@ public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IS List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord - 10 + 0.5, yCoord - 10 + 0.5 + 6, zCoord - 10 + 0.5, xCoord + 10 + 0.5, yCoord + 10 + 0.5 + 6, zCoord + 10 + 0.5)); for(Entity e : list) { - if(!(e instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer)e))) + if(!(e instanceof EntityPlayer && ArmorUtil.checkForHazmat((EntityPlayer)e))) if(!Library.isObstructed(worldObj, xCoord + 0.5, yCoord + 0.5 + 6, zCoord + 0.5, e.posX, e.posY + e.getEyeHeight(), e.posZ)) { e.attackEntityFrom(ModDamageSource.ams, 1000); e.setFire(3); @@ -434,7 +435,7 @@ public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IS List list2 = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord - scale + 0.5, yCoord - scale + 0.5 + 6, zCoord - scale + 0.5, xCoord + scale + 0.5, yCoord + scale + 0.5 + 6, zCoord + scale + 0.5)); for(Entity e : list2) { - if(!(e instanceof EntityPlayer && Library.checkForHaz2((EntityPlayer)e))) + if(!(e instanceof EntityPlayer && ArmorUtil.checkForHaz2((EntityPlayer)e))) e.attackEntityFrom(ModDamageSource.amsCore, 10000); } } diff --git a/com/hbm/tileentity/machine/TileEntityConverterHeRf.java b/com/hbm/tileentity/machine/TileEntityConverterHeRf.java index 1972cdc25..622e70965 100644 --- a/com/hbm/tileentity/machine/TileEntityConverterHeRf.java +++ b/com/hbm/tileentity/machine/TileEntityConverterHeRf.java @@ -6,6 +6,7 @@ import com.hbm.interfaces.IConsumer; import cofh.api.energy.EnergyStorage; import cofh.api.energy.IEnergyProvider; import cofh.api.energy.IEnergyReceiver; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; @@ -20,43 +21,14 @@ public class TileEntityConverterHeRf extends TileEntity implements IConsumer, IE @Override public void updateEntity() { if (!worldObj.isRemote) { + + long convert = Math.min(storage.getMaxEnergyStored() - storage.getEnergyStored(), power * 4); - for(int i = 0; i < 9; i++) - if(power >= 100000 && storage.getEnergyStored() + 400000 <= storage.getMaxEnergyStored()) - { - power -= 100000; - storage.setEnergyStored(storage.getEnergyStored() + 400000); - } - for(int i = 0; i < 9; i++) - if(power >= 10000 && storage.getEnergyStored() + 40000 <= storage.getMaxEnergyStored()) - { - power -= 10000; - storage.setEnergyStored(storage.getEnergyStored() + 40000); - } - for(int i = 0; i < 9; i++) - if(power >= 1000 && storage.getEnergyStored() + 4000 <= storage.getMaxEnergyStored()) - { - power -= 1000; - storage.setEnergyStored(storage.getEnergyStored() + 4000); - } - for(int i = 0; i < 9; i++) - if(power >= 100 && storage.getEnergyStored() + 400 <= storage.getMaxEnergyStored()) - { - power -= 100; - storage.setEnergyStored(storage.getEnergyStored() + 400); - } - for(int i = 0; i < 9; i++) - if(power >= 10 && storage.getEnergyStored() + 40 <= storage.getMaxEnergyStored()) - { - power -= 10; - storage.setEnergyStored(storage.getEnergyStored() + 4); - } - for(int i = 0; i < 10; i++) - if(power >= 1 && storage.getEnergyStored() + 4 <= storage.getMaxEnergyStored()) - { - power -= 1; - storage.setEnergyStored(storage.getEnergyStored() + 40); - } + power -= convert / 4; + storage.setEnergyStored((int) (storage.getEnergyStored() + convert)); + + if(convert > 0) + this.markDirty(); for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { @@ -119,5 +91,21 @@ public class TileEntityConverterHeRf extends TileEntity implements IConsumer, IE public long getFluxScaled(long i) { return (storage.getEnergyStored() * i) / storage.getMaxEnergyStored(); } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + this.power = nbt.getLong("power"); + storage.readFromNBT(nbt); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setLong("power", power); + storage.writeToNBT(nbt); + } } diff --git a/com/hbm/tileentity/machine/TileEntityConverterRfHe.java b/com/hbm/tileentity/machine/TileEntityConverterRfHe.java index ff203393a..1ccd984ab 100644 --- a/com/hbm/tileentity/machine/TileEntityConverterRfHe.java +++ b/com/hbm/tileentity/machine/TileEntityConverterRfHe.java @@ -9,6 +9,7 @@ import com.hbm.lib.Library; import cofh.api.energy.EnergyStorage; import cofh.api.energy.IEnergyReceiver; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; @@ -22,44 +23,16 @@ public class TileEntityConverterRfHe extends TileEntity implements ISource, IEne @Override public void updateEntity() { + if (!worldObj.isRemote) { + + long convert = Math.min(storage.getEnergyStored(), (maxPower - power) * 4); - for(int i = 0; i < 9; i++) - if(storage.getEnergyStored() >= 400000 && power + 100000 <= maxPower) - { - storage.setEnergyStored(storage.getEnergyStored() - 400000); - power += 100000; - } - for(int i = 0; i < 9; i++) - if(storage.getEnergyStored() >= 40000 && power + 10000 <= maxPower) - { - storage.setEnergyStored(storage.getEnergyStored() - 40000); - power += 10000; - } - for(int i = 0; i < 9; i++) - if(storage.getEnergyStored() >= 4000 && power + 1000 <= maxPower) - { - storage.setEnergyStored(storage.getEnergyStored() - 4000); - power += 1000; - } - for(int i = 0; i < 9; i++) - if(storage.getEnergyStored() >= 400 && power + 100 <= maxPower) - { - storage.setEnergyStored(storage.getEnergyStored() - 400); - power += 100; - } - for(int i = 0; i < 9; i++) - if(storage.getEnergyStored() >= 40 && power + 10 <= maxPower) - { - storage.setEnergyStored(storage.getEnergyStored() - 40); - power += 10; - } - for(int i = 0; i < 10; i++) - if(storage.getEnergyStored() >= 4 && power + 1 <= maxPower) - { - storage.setEnergyStored(storage.getEnergyStored() - 4); - power += 1; - } + storage.setEnergyStored((int) (storage.getEnergyStored() - convert)); + power += convert / 4; + + if(convert > 0) + this.markDirty(); } age++; @@ -145,5 +118,21 @@ public class TileEntityConverterRfHe extends TileEntity implements ISource, IEne public void clearList() { this.list.clear(); } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + this.power = nbt.getLong("power"); + storage.readFromNBT(nbt); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setLong("power", power); + storage.writeToNBT(nbt); + } } diff --git a/com/hbm/tileentity/machine/TileEntityCore.java b/com/hbm/tileentity/machine/TileEntityCore.java index 0cf784330..f129e2f01 100644 --- a/com/hbm/tileentity/machine/TileEntityCore.java +++ b/com/hbm/tileentity/machine/TileEntityCore.java @@ -4,10 +4,11 @@ import java.util.List; import com.hbm.entity.effect.EntityCloudFleijaRainbow; import com.hbm.entity.logic.EntityNukeExplosionMK3; +import com.hbm.handler.ArmorUtil; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemCatalyst; +import com.hbm.items.machine.ItemCatalyst; import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; import com.hbm.tileentity.TileEntityMachineBase; @@ -120,7 +121,7 @@ public class TileEntityCore extends TileEntityMachineBase { List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord - 10 + 0.5, yCoord - 10 + 0.5 + 6, zCoord - 10 + 0.5, xCoord + 10 + 0.5, yCoord + 10 + 0.5 + 6, zCoord + 10 + 0.5)); for(Entity e : list) { - if(!(e instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer)e))) + if(!(e instanceof EntityPlayer && ArmorUtil.checkForHazmat((EntityPlayer)e))) if(!Library.isObstructed(worldObj, xCoord + 0.5, yCoord + 0.5 + 6, zCoord + 0.5, e.posX, e.posY + e.getEyeHeight(), e.posZ)) { e.attackEntityFrom(ModDamageSource.ams, 1000); e.setFire(3); @@ -130,7 +131,7 @@ public class TileEntityCore extends TileEntityMachineBase { List list2 = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord - scale + 0.5, yCoord - scale + 0.5 + 6, zCoord - scale + 0.5, xCoord + scale + 0.5, yCoord + scale + 0.5 + 6, zCoord + scale + 0.5)); for(Entity e : list2) { - if(!(e instanceof EntityPlayer && Library.checkForHaz2((EntityPlayer)e))) + if(!(e instanceof EntityPlayer && ArmorUtil.checkForHaz2((EntityPlayer)e))) e.attackEntityFrom(ModDamageSource.amsCore, 10000); } } diff --git a/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java b/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java index 9aae734a3..0f409456e 100644 --- a/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java +++ b/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java @@ -4,7 +4,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.IFactory; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; diff --git a/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java b/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java index 03b88b93e..280210a35 100644 --- a/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java +++ b/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java @@ -2,7 +2,7 @@ package com.hbm.tileentity.machine; import com.hbm.interfaces.IConsumer; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemLens; +import com.hbm.items.machine.ItemLens; import com.hbm.tileentity.TileEntityMachineBase; import cpw.mods.fml.relauncher.Side; diff --git a/com/hbm/tileentity/machine/TileEntityCoreTitanium.java b/com/hbm/tileentity/machine/TileEntityCoreTitanium.java index fa39bc14d..74dbeb0a5 100644 --- a/com/hbm/tileentity/machine/TileEntityCoreTitanium.java +++ b/com/hbm/tileentity/machine/TileEntityCoreTitanium.java @@ -4,7 +4,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.IFactory; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; diff --git a/com/hbm/tileentity/machine/TileEntityForceField.java b/com/hbm/tileentity/machine/TileEntityForceField.java index d2d236011..b4bcb08f5 100644 --- a/com/hbm/tileentity/machine/TileEntityForceField.java +++ b/com/hbm/tileentity/machine/TileEntityForceField.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.interfaces.IConsumer; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEFFPacket; diff --git a/com/hbm/tileentity/machine/TileEntityLockableBase.java b/com/hbm/tileentity/machine/TileEntityLockableBase.java index 4ce4113dc..f5ec26020 100644 --- a/com/hbm/tileentity/machine/TileEntityLockableBase.java +++ b/com/hbm/tileentity/machine/TileEntityLockableBase.java @@ -1,8 +1,8 @@ package com.hbm.tileentity.machine; +import com.hbm.handler.ArmorUtil; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemKey; -import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import net.minecraft.entity.player.EntityPlayer; @@ -106,7 +106,7 @@ public abstract class TileEntityLockableBase extends TileEntity { if(canPick) { - if(Library.checkArmorPiece(player, ModItems.jackt, 2) || Library.checkArmorPiece(player, ModItems.jackt2, 2)) + if(ArmorUtil.checkArmorPiece(player, ModItems.jackt, 2) || ArmorUtil.checkArmorPiece(player, ModItems.jackt2, 2)) chanceOfSuccess *= 100D; double rand = player.worldObj.rand.nextDouble() * 100; diff --git a/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java b/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java index b2aa74649..9e3e4cf0c 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java +++ b/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java @@ -4,7 +4,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.MachineArcFurnace; import com.hbm.interfaces.IConsumer; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachineAssembler.java b/com/hbm/tileentity/machine/TileEntityMachineAssembler.java index 5297c4dd5..14186e6af 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineAssembler.java +++ b/com/hbm/tileentity/machine/TileEntityMachineAssembler.java @@ -7,8 +7,8 @@ import java.util.Random; import com.hbm.interfaces.IConsumer; import com.hbm.inventory.MachineRecipes; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; -import com.hbm.items.tool.ItemAssemblyTemplate; +import com.hbm.items.machine.ItemAssemblyTemplate; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.LoopedSoundPacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachineBattery.java b/com/hbm/tileentity/machine/TileEntityMachineBattery.java index a7378dd3a..be49daacd 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineBattery.java +++ b/com/hbm/tileentity/machine/TileEntityMachineBattery.java @@ -6,26 +6,26 @@ import java.util.List; import com.hbm.blocks.machine.MachineBattery; import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.ISource; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityMachineBase; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.entity.player.EntityPlayer; -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 TileEntityMachineBattery extends TileEntity implements ISidedInventory, IConsumer, ISource { - - private ItemStack slots[]; +public class TileEntityMachineBattery extends TileEntityMachineBase implements IConsumer, ISource { public long power = 0; public long maxPower = 1000000; + //0: input only + //1: buffer + //2: output only + //3: nothing + public short redLow = 0; + public short redHigh = 2; + public boolean conducts = false; private static final int[] slots_top = new int[] {0}; @@ -37,48 +37,24 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent private String customName; public TileEntityMachineBattery() { + super(2); slots = new ItemStack[2]; } public TileEntityMachineBattery(long maxPower) { + super(2); slots = new ItemStack[2]; this.maxPower = maxPower; } @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(); - } + public String getName() { + return "container.battery"; } @Override public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.battery"; + return this.hasCustomInventoryName() ? this.customName : getName(); } @Override @@ -90,26 +66,6 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent 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(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; - } - } - - @Override - public void openInventory() {} - @Override - public void closeInventory() {} - @Override public boolean isItemValidForSlot(int i, ItemStack stack) { switch(i) @@ -127,35 +83,15 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent return true; } - @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 void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("items", 10); this.power = nbt.getLong("power"); - this.conducts = nbt.getBoolean("conducts"); + this.redLow = nbt.getShort("redLow"); + this.redHigh = nbt.getShort("redHigh"); + slots = new ItemStack[getSizeInventory()]; for(int i = 0; i < list.tagCount(); i++) @@ -172,8 +108,11 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); + nbt.setLong("power", power); - nbt.setBoolean("conducts", conducts); + nbt.setShort("redLow", redLow); + nbt.setShort("redHigh", redHigh); + NBTTagList list = new NBTTagList(); for(int i = 0; i < slots.length; i++) @@ -223,11 +162,12 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent public void updateEntity() { if(worldObj.getBlock(xCoord, yCoord, zCoord) instanceof MachineBattery && !worldObj.isRemote) { - this.maxPower = ((MachineBattery)worldObj.getBlock(xCoord, yCoord, zCoord)).maxPower; - conducts = worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord); + this.maxPower = ((MachineBattery)worldObj.getBlock(xCoord, yCoord, zCoord)).maxPower; - if(this.conducts) + short mode = (short) this.getRelevantMode(); + + if(mode == 1 || mode == 2) { age++; if(age >= 20) @@ -242,127 +182,38 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent power = Library.chargeTEFromItems(slots, 0, power, maxPower); power = Library.chargeItemsFromTE(slots, 1, power, maxPower); - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setLong("power", power); + nbt.setLong("maxPower", maxPower); + nbt.setShort("redLow", redLow); + nbt.setShort("redHigh", redHigh); + this.networkPack(nbt, 20); } } + @Override + public void networkUnpack(NBTTagCompound nbt) { + + this.power = nbt.getLong("power"); + this.maxPower = nbt.getLong("maxPower"); + this.redLow = nbt.getShort("redLow"); + this.redHigh = nbt.getShort("redHigh"); + } + @Override public void setPower(long i) { power = i; - } @Override public long getPower() { return power; - } @Override public void ffgeua(int x, int y, int z, boolean newTact) { Library.ffgeua(x, y, z, newTact, this, worldObj); - - /*Block block = this.worldObj.getBlock(x, y, z); - TileEntity tileentity = this.worldObj.getTileEntity(x, y, z); - - if(block == ModBlocks.factory_titanium_conductor && this.worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_titanium_core) - { - tileentity = this.worldObj.getTileEntity(x, y + 1, z); - } - if(block == ModBlocks.factory_titanium_conductor && this.worldObj.getBlock(x, y - 1, z) == ModBlocks.factory_titanium_core) - { - tileentity = this.worldObj.getTileEntity(x, y - 1, z); - } - if(block == ModBlocks.factory_advanced_conductor && this.worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_advanced_core) - { - tileentity = this.worldObj.getTileEntity(x, y + 1, z); - } - if(block == ModBlocks.factory_advanced_conductor && this.worldObj.getBlock(x, y - 1, z) == ModBlocks.factory_advanced_core) - { - tileentity = this.worldObj.getTileEntity(x, y - 1, z); - } - - if(tileentity instanceof IConductor) - { - if(tileentity instanceof TileEntityCable) - { - if(Library.checkUnionList(((TileEntityCable)tileentity).uoteab, this)) - { - for(int i = 0; i < ((TileEntityCable)tileentity).uoteab.size(); i++) - { - if(((TileEntityCable)tileentity).uoteab.get(i).source == this) - { - if(((TileEntityCable)tileentity).uoteab.get(i).ticked != newTact) - { - ((TileEntityCable)tileentity).uoteab.get(i).ticked = newTact; - ffgeua(x, y + 1, z, getTact()); - ffgeua(x, y - 1, z, getTact()); - ffgeua(x - 1, y, z, getTact()); - ffgeua(x + 1, y, z, getTact()); - ffgeua(x, y, z - 1, getTact()); - ffgeua(x, y, z + 1, getTact()); - } - } - } - } else { - ((TileEntityCable)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleans(this, newTact)); - } - } - if(tileentity instanceof TileEntityWireCoated) - { - if(Library.checkUnionList(((TileEntityWireCoated)tileentity).uoteab, this)) - { - for(int i = 0; i < ((TileEntityWireCoated)tileentity).uoteab.size(); i++) - { - if(((TileEntityWireCoated)tileentity).uoteab.get(i).source == this) - { - if(((TileEntityWireCoated)tileentity).uoteab.get(i).ticked != newTact) - { - ((TileEntityWireCoated)tileentity).uoteab.get(i).ticked = newTact; - ffgeua(x, y + 1, z, getTact()); - ffgeua(x, y - 1, z, getTact()); - ffgeua(x - 1, y, z, getTact()); - ffgeua(x + 1, y, z, getTact()); - ffgeua(x, y, z - 1, getTact()); - ffgeua(x, y, z + 1, getTact()); - } - } - } - } else { - ((TileEntityWireCoated)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleans(this, newTact)); - } - } - } - - if(tileentity instanceof IConsumer && newTact && !(tileentity instanceof TileEntityMachineBattery && ((TileEntityMachineBattery)tileentity).conducts)) - { - list.add((IConsumer)tileentity); - } - - if(!newTact) - { - int size = list.size(); - if(size > 0) - { - int part = this.power / size; - for(IConsumer consume : list) - { - if(consume.getPower() < consume.getMaxPower()) - { - if(consume.getMaxPower() - consume.getPower() >= part) - { - this.power -= part; - consume.setPower(consume.getPower() + part); - } else { - this.power -= consume.getMaxPower() - consume.getPower(); - consume.setPower(consume.getMaxPower()); - } - } - } - } - list.clear(); - }*/ } @Override @@ -384,9 +235,22 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent return false; } + + public short getRelevantMode() { + + if(worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) { + return this.redHigh; + } else { + return this.redLow; + } + } @Override public long getMaxPower() { + + if(!worldObj.isRemote && getRelevantMode() >= 2) + return 0; + return maxPower; } diff --git a/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java b/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java index 2cd0febdc..c3498a2e0 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java +++ b/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java @@ -12,7 +12,7 @@ import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidTank; import com.hbm.inventory.MachineRecipes; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java b/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java index cbd17a878..c86b3a805 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java +++ b/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java @@ -9,7 +9,7 @@ import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java b/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java index 53adfc1e7..dab8dc44f 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java +++ b/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java @@ -2,7 +2,7 @@ package com.hbm.tileentity.machine; import com.hbm.interfaces.IConsumer; import com.hbm.inventory.MachineRecipes; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index c4ab5199b..6c68f9d29 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -13,8 +13,8 @@ import com.hbm.inventory.FluidStack; import com.hbm.inventory.FluidTank; import com.hbm.inventory.MachineRecipes; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; -import com.hbm.items.tool.ItemChemistryTemplate; +import com.hbm.items.machine.ItemBattery; +import com.hbm.items.machine.ItemChemistryTemplate; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxParticlePacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/com/hbm/tileentity/machine/TileEntityMachineCoal.java index 133c8ae2b..f184ddfcc 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ b/com/hbm/tileentity/machine/TileEntityMachineCoal.java @@ -21,7 +21,7 @@ import com.hbm.interfaces.ISource; import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachineDeuterium.java b/com/hbm/tileentity/machine/TileEntityMachineDeuterium.java index df099b20c..a899b330e 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineDeuterium.java +++ b/com/hbm/tileentity/machine/TileEntityMachineDeuterium.java @@ -2,7 +2,7 @@ package com.hbm.tileentity.machine; import com.hbm.interfaces.IConsumer; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import net.minecraft.entity.player.EntityPlayer; diff --git a/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index f558dc832..8892f9aa3 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -11,7 +11,7 @@ import com.hbm.interfaces.ISource; import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachineEPress.java b/com/hbm/tileentity/machine/TileEntityMachineEPress.java index 4b460506f..c86e84455 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineEPress.java +++ b/com/hbm/tileentity/machine/TileEntityMachineEPress.java @@ -2,7 +2,7 @@ package com.hbm.tileentity.machine; import com.hbm.interfaces.IConsumer; import com.hbm.inventory.MachineRecipes; -import com.hbm.items.special.ItemBlades; +import com.hbm.items.machine.ItemBlades; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java b/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java index ece0adec6..cfffff1fc 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java +++ b/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java @@ -2,7 +2,7 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.machine.MachineElectricFurnace; import com.hbm.interfaces.IConsumer; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachineGasFlare.java b/com/hbm/tileentity/machine/TileEntityMachineGasFlare.java index df294188d..4bcd1130e 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineGasFlare.java +++ b/com/hbm/tileentity/machine/TileEntityMachineGasFlare.java @@ -12,7 +12,7 @@ import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.ISource; import com.hbm.inventory.FluidTank; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityMachineGenerator.java b/com/hbm/tileentity/machine/TileEntityMachineGenerator.java index 547811323..af6472a76 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineGenerator.java +++ b/com/hbm/tileentity/machine/TileEntityMachineGenerator.java @@ -13,8 +13,8 @@ import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.ISource; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; -import com.hbm.items.special.ItemFuelRod; +import com.hbm.items.machine.ItemBattery; +import com.hbm.items.machine.ItemFuelRod; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java b/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java index 5219aba3f..b6b82bb7d 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java +++ b/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java @@ -5,7 +5,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IConsumer; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.LoopedSoundPacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachineOilWell.java b/com/hbm/tileentity/machine/TileEntityMachineOilWell.java index 4a44cf609..ba59c8255 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineOilWell.java +++ b/com/hbm/tileentity/machine/TileEntityMachineOilWell.java @@ -14,7 +14,7 @@ import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityMachinePress.java b/com/hbm/tileentity/machine/TileEntityMachinePress.java index 8085f4cad..2c11718a9 100644 --- a/com/hbm/tileentity/machine/TileEntityMachinePress.java +++ b/com/hbm/tileentity/machine/TileEntityMachinePress.java @@ -1,7 +1,7 @@ package com.hbm.tileentity.machine; import com.hbm.inventory.MachineRecipes; -import com.hbm.items.special.ItemBlades; +import com.hbm.items.machine.ItemBlades; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEPressPacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachinePumpjack.java b/com/hbm/tileentity/machine/TileEntityMachinePumpjack.java index 9401bdbea..8a770b87f 100644 --- a/com/hbm/tileentity/machine/TileEntityMachinePumpjack.java +++ b/com/hbm/tileentity/machine/TileEntityMachinePumpjack.java @@ -13,7 +13,7 @@ import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java b/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java index 825badae5..31b8ff0fa 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java +++ b/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java @@ -11,7 +11,7 @@ import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemFuelRod; +import com.hbm.items.machine.ItemFuelRod; import com.hbm.lib.Library; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java b/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java index 7b8bbf6d3..5343b4b96 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java +++ b/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java @@ -11,8 +11,8 @@ import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.ISource; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; -import com.hbm.items.special.ItemFuelRod; +import com.hbm.items.machine.ItemBattery; +import com.hbm.items.machine.ItemFuelRod; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachineRefinery.java b/com/hbm/tileentity/machine/TileEntityMachineRefinery.java index 7a132c3f7..fa145d2f3 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineRefinery.java +++ b/com/hbm/tileentity/machine/TileEntityMachineRefinery.java @@ -11,7 +11,7 @@ import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityMachineSatDock.java b/com/hbm/tileentity/machine/TileEntityMachineSatDock.java index 21c155828..1a4d5c046 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineSatDock.java +++ b/com/hbm/tileentity/machine/TileEntityMachineSatDock.java @@ -5,7 +5,7 @@ import java.util.Random; import com.hbm.entity.missile.EntityMinerRocket; import com.hbm.items.ModItems; -import com.hbm.items.tool.ItemSatChip; +import com.hbm.items.machine.ItemSatChip; import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.satellites.Satellite; import com.hbm.saveddata.satellites.SatelliteMiner; diff --git a/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java b/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java index 6fb5a999b..0aa7e64e1 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java +++ b/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java @@ -1,6 +1,6 @@ package com.hbm.tileentity.machine; -import com.hbm.items.tool.ItemSatChip; +import com.hbm.items.machine.ItemSatChip; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; diff --git a/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java b/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java index 79d1ebc89..e0e04433f 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java +++ b/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java @@ -5,7 +5,7 @@ import java.util.Random; import com.hbm.interfaces.IConsumer; import com.hbm.inventory.MachineRecipes; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java b/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java index 08b587232..c16c479d8 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java +++ b/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java @@ -11,7 +11,7 @@ import com.hbm.interfaces.ISource; import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachineShredder.java b/com/hbm/tileentity/machine/TileEntityMachineShredder.java index a10e1b33b..4d7d5e110 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineShredder.java +++ b/com/hbm/tileentity/machine/TileEntityMachineShredder.java @@ -2,8 +2,8 @@ package com.hbm.tileentity.machine; import com.hbm.interfaces.IConsumer; import com.hbm.inventory.MachineRecipes; -import com.hbm.items.special.ItemBattery; -import com.hbm.items.special.ItemBlades; +import com.hbm.items.machine.ItemBattery; +import com.hbm.items.machine.ItemBlades; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityMachineShredderLarge.java b/com/hbm/tileentity/machine/TileEntityMachineShredderLarge.java index c097f01d2..25c1949c0 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineShredderLarge.java +++ b/com/hbm/tileentity/machine/TileEntityMachineShredderLarge.java @@ -3,7 +3,7 @@ package com.hbm.tileentity.machine; import java.util.Random; import com.hbm.interfaces.IConsumer; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityMachineSiren.java b/com/hbm/tileentity/machine/TileEntityMachineSiren.java index b72aa71ec..7ad87852f 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineSiren.java +++ b/com/hbm/tileentity/machine/TileEntityMachineSiren.java @@ -1,9 +1,10 @@ package com.hbm.tileentity.machine; import java.util.Arrays; -import com.hbm.items.tool.ItemCassette; -import com.hbm.items.tool.ItemCassette.SoundType; -import com.hbm.items.tool.ItemCassette.TrackType; + +import com.hbm.items.machine.ItemCassette; +import com.hbm.items.machine.ItemCassette.SoundType; +import com.hbm.items.machine.ItemCassette.TrackType; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TESirenPacket; diff --git a/com/hbm/tileentity/machine/TileEntityMachineTeleLinker.java b/com/hbm/tileentity/machine/TileEntityMachineTeleLinker.java index 4c52f350b..68f953d0f 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineTeleLinker.java +++ b/com/hbm/tileentity/machine/TileEntityMachineTeleLinker.java @@ -1,6 +1,6 @@ package com.hbm.tileentity.machine; -import com.hbm.items.tool.ItemTurretBiometry; +import com.hbm.items.machine.ItemTurretBiometry; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; diff --git a/com/hbm/tileentity/machine/TileEntityMachineTurbine.java b/com/hbm/tileentity/machine/TileEntityMachineTurbine.java index 9dab1b870..1f6b413e9 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineTurbine.java +++ b/com/hbm/tileentity/machine/TileEntityMachineTurbine.java @@ -11,7 +11,7 @@ import com.hbm.interfaces.IFluidSource; import com.hbm.interfaces.ISource; import com.hbm.inventory.FluidTank; import com.hbm.inventory.MachineRecipes; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java b/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java index 8529267ae..86733111e 100644 --- a/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java +++ b/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java @@ -14,7 +14,7 @@ import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.ISource; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemFuelRod; +import com.hbm.items.machine.ItemFuelRod; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; diff --git a/com/hbm/tileentity/machine/TileEntityReiXMainframe.java b/com/hbm/tileentity/machine/TileEntityReiXMainframe.java index 02612f05e..679881719 100644 --- a/com/hbm/tileentity/machine/TileEntityReiXMainframe.java +++ b/com/hbm/tileentity/machine/TileEntityReiXMainframe.java @@ -2,7 +2,7 @@ package com.hbm.tileentity.machine; import com.hbm.interfaces.IConsumer; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBattery; +import com.hbm.items.machine.ItemBattery; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; diff --git a/com/hbm/tileentity/machine/TileEntityTesla.java b/com/hbm/tileentity/machine/TileEntityTesla.java index c641feb11..8280fca0f 100644 --- a/com/hbm/tileentity/machine/TileEntityTesla.java +++ b/com/hbm/tileentity/machine/TileEntityTesla.java @@ -8,6 +8,7 @@ import com.hbm.entity.mob.EntityCyberCrab; import com.hbm.entity.mob.EntityNuclearCreeper; import com.hbm.entity.mob.EntityTaintCrab; import com.hbm.entity.mob.EntityTeslaCrab; +import com.hbm.handler.ArmorUtil; import com.hbm.interfaces.IConsumer; import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; @@ -116,7 +117,7 @@ public class TileEntityTesla extends TileEntityMachineBase implements IConsumer continue; } - if(!(e instanceof EntityPlayer && Library.checkForFaraday((EntityPlayer)e))) + if(!(e instanceof EntityPlayer && ArmorUtil.checkForFaraday((EntityPlayer)e))) if(e.attackEntityFrom(ModDamageSource.electricity, MathHelper.clamp_float(e.getMaxHealth() * 0.5F, 3, 20) / (float)targets.size())) worldObj.playSoundAtEntity(e, "hbm:weapon.tesla", 1.0F, 1.0F);